(1)双指针,类似求最长回文串
class Solution {
public:
/**
*
* @param arr int整型vector the array
* @return int整型
*/
int maxLength(vector<int>& arr) {
int n=arr.size();
unordered_set<int> s;
int right=0,maxs=0;
for(int i=0;i<n;i++) {
while(right<n && s.count(arr[right])==0) {
s.insert(arr[right]);
right++;
}
maxs=max(maxs,right-i);
s.erase(arr[i]);
}
return maxs;
}
};