题解 | #最长无重复子数组#
最长无重复子数组
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
int n=arr.size();
vector<int> vec; // 元素;索引
int ans=0;
for(int i=0; i<n; i++){
vector<int>::const_iterator it = find(vec.begin(),vec.end(),arr[i]);
if( it == vec.end()){
vec.push_back(arr[i]);
}else{ // 找到元素; 从找到元素的下一个位置开始出发
vector<int>::const_iterator end = vec.end();
vec.assign( it+1, end);
vec.push_back(arr[i]);
}
int t = vec.size();
ans = max(ans,t);
}
return ans;
}
}; 
