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

最长无重复子数组

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

using System;
using System.Collections.Generic;


class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param arr int整型一维数组 the array
     * @return int整型
     */
    public int maxLength (List<int> arr) {
        int left = 0, right = 0;
        int len = 0;
        int start = 0;
        Dictionary<int, int> dic = new Dictionary<int, int>();
        while(right < arr.Count){
            if(!dic.ContainsKey(arr[right])) dic[arr[right]] = 0;
            dic[arr[right]]++;
            while(dic[arr[right]] > 1){
                dic[arr[left++]]--;
            }
            if(right - left + 1 > len){
                start = left;
                len = right - left + 1;
            }
            right++;
        }
        return len;
    }
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
11-21 19:05
面试官_我太想进步了:混学生会的,难怪简历这么水
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务