题解 | #最长无重复子数组#
最长无重复子数组
http://www.nowcoder.com/practice/b56799ebfd684fb394bd315e89324fb4
class Solution {
public:
/**
*
* @param arr int整型vector the array
* @return int整型
*/
int maxLength(vector<int>& arr) {
// write code here
unordered_set<int> contained_num;
int size = arr.size();
int ans = 0;
int i = 0;
for (int j = 0; j < size; ++j){
if(contained_num.find(arr[j])!=contained_num.end()){
ans = max(ans,int(contained_num.size()));
while(contained_num.find(arr[j])!=contained_num.end()){
contained_num.erase(arr[i]);
i++;
}
}
contained_num.emplace(arr[j]);
}
//if the whole arr is unique
ans = max(ans,int(contained_num.size()));
return ans;
}
};</int></int>