#include <iostream>
using namespace std;
const int N = 100010;
int a[N], b[N];
int main()
{
int n;
cin >> n;
for (int i = 0;i < n;i++)
{
scanf("%d", &a[i]);
}
int j = 0,ans = 0;
for (int i = 0;i < n;i++)
{
b[a[i]]++;
while (b[a[i]] > 1) //第二次遇见 当a[i] == a[j]时退出循环
{
b[a[j]] --; //j从上次的地方开始移动
j++;
}
ans = max(ans, i - j + 1);
}
cout << ans;
return 0;
}
AcWing双指针算法(最长连续不重复子序列)
最新推荐文章于 2024-10-30 16:47:45 发布