题解 | #最长无重复子数组#

最长无重复子数组

https://www.nowcoder.com/practice/b56799ebfd684fb394bd315e89324fb4

import java.util.*;


public class Solution {
    /**
     * 
     * @param arr int整型一维数组 the array
     * @return int整型
     */
    public int maxLength (int[] arr) {
        // write code here
        Set<Integer> set = new HashSet<>();
        int pre = 0;
        int maxLen = 0;
        for (int i = 0; i < arr.length; i++) {
            if (set.contains(arr[i])) {
                if (maxLen < set.size()) {
                    maxLen = set.size();
                }
                // 去除 arr[i] 前的所有的数
                while (set.contains(arr[i])) set.remove(arr[pre++]);
                set.add(arr[i]);
            } else {
                set.add(arr[i]);
            }
        }
        return Math.max(maxLen, set.size()); 
    }
}

滑动窗口

#23届找工作求助阵地##软件开发薪资爆料##你们的毕业论文什么进度了#
全部评论

相关推荐

06-27 18:53
门头沟学院 Java
这样才知道自己不适合搞代码,考公去咯
只爱喝白开水:我也发现不适合搞代码,打算转非技术方向了
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-24 20:25
腾讯今年实习招了这么多人,后面秋招还会招人吗??想着秋招再战来着
牛客965593684号:腾讯好像2020年之后就是实习生招得多,应届生基本上不招,纯实习转正
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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