题解 | 最长无重复子数组

最长无重复子数组

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

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param arr int整型vector the array
     * @return int整型
     */
    int maxLength(vector<int>& arr) {
        unordered_map<int, int> mp;
        int r = 0;
        int l = 0;
        int res = 0;
        while (r < arr.size()) {
            int num = arr[r];
            if (mp.count(num) && mp[num] >= l) {
                res = max(res, r - l);
                l = mp[num] + 1;
            }
            mp[num] = r;
            ++r;
        }
        res = max(res, r - l);
        return res;
    }
};

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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