思路
这里的 i 才是主要的遍历指针, j 是用来剔除元素以满足题目要求的。
代码
#include<iostream>
using namespace std;
const int N = 1e5 + 10;
int n, res;
int a[N], s[N];
int main() {
cin >> n;
for (int i = 0; i < n; i++) cin >> a[i];
for (int i = 0, j = 0; i < n; i++) {
s[a[i]]++;
while (s[a[i]] > 1) {
s[a[j]] --;
j++;
}
res = max(res, i - j + 1);
}
cout << res << endl;
return 0;
}
标签:int,res,重复子,cin,++,算法,指针
From: https://www.cnblogs.com/vLiion/p/17923962.html