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

最长无重复子数组

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

import java.util.*;


public class Solution {
    /**
     *
     * @param arr int整型一维数组 the array
     * @return int整型
     */
    public int maxLength (int[] arr) {
        int[] values = new int[100001];
        int l=0;
        int r=0;
        int length = 0;
        while(r<arr.length){
            if(values[arr[r]]==0){
                values[arr[r]]++;
                r++;
            } else {
                while(l<r){
                    values[arr[l]]--;
                    if(arr[l]==arr[r]){
                        l++;
                        break;
                    }
                    l++;
                }

            }
            length = Math.max(length, r - l);
        }
        return length;
    }
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
11-21 19:05
面试官_我太想进步了:混学生会的,难怪简历这么水
点赞 评论 收藏
分享
ArisRobert:统一解释一下,第4点的意思是,公司按需通知员工,没被通知到的员工是没法去上班的,所以只要没被通知到,就自动离职。就是一种比较抽象的裁员。
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务