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

最长无重复子数组

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;
    }
}
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务