class Solution {
public:
/**
*
* @param arr int整型vector the array
* @return int整型
*/
int maxLength(vector<int>& arr) {
// write code here
if(arr.size()==0)return 0;
if(arr.size()==1)return 1;
int max = 0;
int sum = 0;
unordered_map<int, int> map;
for(int i = 0; i < arr.size(); i++){
if(!map.empty() && map.find(arr[i]) != map.end()){
if(sum > max)max = sum;
i = map[arr[i]] + 1;
map.clear();
map[arr[i]] = i;
sum = 1;
}else{
map[arr[i]] = i;
sum++;
}
}
max = max>sum?max:sum;
return max;
}
};