#include <iostream>
#include<algorithm>
#include<set>
using namespace std;
const int MAX = 1e6 + 10;
int c[MAX];
int n;
set<int> mySet;
int main()
{
cin >> n;
for (int i = 0; i < n; i++)
{
cin >> c[i];
}
int l = 0, r = 0, maxLen = 0;
while (r < n) {
if (!mySet.count(c[r])) {
mySet.insert(c[r]);
maxLen = max(r - l + 1, maxLen);
r++;
}
else {
while (mySet.count(c[r])) {
mySet.erase(c[l++]);
}
}
}
cout << maxLen << endl;
}
寻找无重复区间的最大长度
最新推荐文章于 2022-10-25 19:51:11 发布