题解 | #最长无重复子数组#
最长无重复子数组
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; } };