题解 | #最长无重复子串# 滑动窗口,用set维护一个不重复的窗口

最长无重复子串

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

  • 滑动窗口,用set维护一个不重复的窗口
    /* 滑动窗口,用set维护一个不重复的窗口 */
    public int maxLength (int[] arr) {
      int res = 0;
      Set<Integer> set = new HashSet<>();
      for(int l = 0, r = 0; r < arr.length; r++) {
          int a = arr[r];
          while(set.contains(a)) {
              set.remove(arr[l++]);
          }
          set.add(a);
          res = Math.max(res, r - l + 1);
      }
      return res;
    }
全部评论

相关推荐

05-20 13:59
门头沟学院 Java
米黑子米黑子:你这个成绩不争取下保研?
点赞 评论 收藏
分享
评论
4
1
分享

创作者周榜

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