class Solution {
public:
/**
*
* @param arr int整型vector the array
* @return int整型
*/
int maxLength(vector<int>& arr) {
// write code here
unordered_map<int, int> is_key; // hash_map记录已有元素
int len = 0, tmp = 0;
for(int i = 0; i < arr.size(); i++){
if(is_key.find(arr[i]) != is_key.end()){
i = is_key[arr[i]] + 1;// is_key记录元素下标
len = max(len, tmp);
is_key.clear(); //从第一个重复元素的下一个元素开始重新计数
tmp = 0;
}
is_key[arr[i]] = i;
tmp++;
}
return max(len, tmp);
}
};

京公网安备 11010502036488号