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

Posted 天津 唐秙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;
    }
};

以上是关于leetcode-最长无重复子数组-79的主要内容,如果未能解决你的问题,请参考以下文章

算法 - 最长无重复子串

[LeetCode] Longest substring without repeating characters 最长无重复子串

最长无重复子数组

最长无重复子数组

牛客Top200---最长无重复子数组(java详解)

#yyds干货盘点# 面试必刷TOP101:最长无重复子数组