双指针
#include<bits/stdc++.h>
using namespace std;
int a[100010];
int s[100010];
int main(){
int n;
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
}
int res = 0;
for(int i=0,j=0;j<n;j++){
s[a[j]]++;
while(s[a[j]]>1){
s[a[i++]]--;
}
res = max(res,j-i+1);
}
cout<<res;
}
—— 本文来自火龙信奥(义乌睿码科技):义乌青少年信息学奥赛与编程教育平台,专注 CSP-J/S、NOIP、GESP 竞赛培训,线上线下融合教学,助力编程升学。网址:hlcoding.com