题目:
代码:
#include <bits/stdc++.h>
#define int long long
#define INF 0X3f3f3f3f
#define endl '\n'
using namespace std;
const int N = 100010;
int arr[N];
int n;
signed main(){
std::ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin>>n;
int cnt[N];//用来记录元素个数
int ans = 1;
for(int i = 1 ; i <= n; i++){
cin>>arr[i];
}
for(int i = 1 , j = 1; i <= n; i++){
cnt[arr[i]]++;
while(cnt[arr[i]]>1){ //出现重复元素 删除前面元素的数量
cnt[arr[j]]--;
j++;//移动指针
}
ans = max(ans,i-j+1);
}
cout<<ans;
return 0;
}