int maxLength(vector<int>& arr) {
// write code here
int i=0;
int length = 0;
unordered_set<int> sub_arr; //定义一个unordered_set集合来存储无重复的子数组
for(int j=0; j<arr.size(); j++) {
while(sub_arr.find(arr[j]) != sub_arr.end()) { //存在重复的元素
sub_arr.erase(arr[i]);
i++;
}
sub_arr.insert(arr[j]);
length = max(length, (j-i+1)); // 比较arr[j]元素添加前后的长度变化
}
return length;
}


京公网安备 11010502036488号