ARTS-第八周

每周完成一个ARTS:(Algorithm、Review、Tip、Share, ARTS)
* Algorithm 每周至少做一个 leetcode 的算法题-主要是为了编程训练和学习
* Review 阅读并点评至少一篇英文技术文章-主要是为了学习英文,如果你的英文不行,你基本上无缘技术高手
* Tip 学习至少一个技术技巧-主要是为了总结和归纳你在是常工作中所遇到的知识点
* Share -- 分享一篇有观点和思考的技术文章-主要是为了建立你的影响力,能够输出价值观

Algorithm

算法链接:移除元素

给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。

不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。

元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。

 

示例:

给定 nums = [3,2,2,3], val = 3,

函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。

你不需要考虑数组中超出新长度后面的元素。

给定 nums = [0,1,2,2,3,0,4,2], val = 2,

函数应该返回新的长度 5, 并且 nums 中的前五个元素为 0, 1, 3, 0, 4。

注意这五个元素可为任意顺序。

你不需要考虑数组中超出新长度后面的元素。

说明:

解:

class Solution {
   public int removeElement(int[] nums, int val) {
    int i = 0;
    for (int j = 0; j < nums.length; j++) {
        if (nums[j] != val) {
            nums[i] = nums[j];
            i++;
        }
    }
    return i;
}

}

Review 

暂无

Tip 

在Java开发中,我们经常使用Spring MVC帮我们接收解析前端请求,并解析参数,在接受参数的时候,我们可能会用到@Valid 来帮助我们判断实体中的参数是否满足我们的条件定义,但是,如果你传入的参数是List类型的,除非将List放到一个实体内,然后在成员变量上加上@Valid,不然直接接受List,@Valid是无效的,针对这种情况,Javax提供了一个 Validato接口,我们只需要注入这个接口,然后调用validate方法就能校验List的数据;

     //在类中注入
    private final Validator validator;
    
    //在方法体中调用这个方法
    public boolean test(List requestVOList) {
        //List在Spring MVC接受时无法实现@Vaild校验,可以通过这个校验
        validator.validate(requestVOList);
    }

Share 

关于JDK1.8 Stream的学习总结。文章地址:Java JDK1.8 核心特性详解------Stream进阶

你可能感兴趣的:(ARTS学习记录)