标签:arr right int res 重复子 ++ 数组 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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。