其他分享
首页 > 其他分享> > leetcode-最长无重复子数组-79

leetcode-最长无重复子数组-79

作者:互联网

题目要求
  给定一个数组arr,返回arr的最长无重复元素子数组的长度,无重复指的是所有数字都不相同。
子数组是连续的,比如[1,3,5,7,9]的子数组有[1,3],[3,5,7]等等,但是[1,3,7]不是子数组
代码实现

class Solution {
public:
    int maxLength(vector<int>& arr) {
        // write code here
        unordered_map<int, int> m;
        int left = 0;
        int right = 0;
        int res = 0;
        for(;right < arr.size(); right++)
        {
            m[arr[right]]++;
            while(m[arr[right]] > 1)
            {
                m[arr[left++]]--;
            }
            res = max(res, right - left + 1);
        }
        return res;
    }
};

标签:arr,right,int,res,重复子,++,数组,leetcode,79
来源: https://blog.csdn.net/weixin_43580319/article/details/120684849