最长无重复子数组

使用滑动窗口解决即可.

 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;

    }




全部评论

相关推荐

水墨不写bug:疑似没有上过大学
点赞 评论 收藏
分享
07-11 11:15
中南大学 Java
好可爱的hr姐姐哈哈哈哈
黑皮白袜臭脚体育生:兄弟们貂蝉在一起,吕布开了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务