最长无重复子数组

使用滑动窗口解决即可.

 public int maxLength (int[] arr) {
        // write code here

        Set<Integer> set=new HashSet<>();

        int max=0,j=-1;

        for (int i=0;i< arr.length;i++){

            if(i!=0){
                set.remove(arr[i-1]);
            }

            while (j+1<arr.length&&!set.contains(arr[j+1])){

                set.add(arr[++j]);
                if(j-i+1>max){
                    max=j-i+1;
                }

            }

        }

        return max;

    }




全部评论

相关推荐

点赞 评论 收藏
分享
11-18 09:44
Java
小白也想要offer:简历别放洋屁,搞不还还放错了,当然你投外企除外,以上纯属个人观点
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务