AcWing 799. 最长连续不重复子序列
原题链接
简单
作者:
h_h_h
,
2024-02-19 19:11:45
,
所有人可见
,
阅读 25
C++ 代码
#include<bits/stdc++.h>
using namespace std;
const int N = 100010;
int a[N],c[N];
//bool check(int i,int j){
// int c[N];
// memset(c,0,N);
// int m=i;
// for(;m<=j;m++){
// c[a[m]]++;
// }
// m=i;
// while(m<=j){
// if(c[a[m]]>1)
// return false;
// m++;
// }
// return true;
//}
int main(){
int n;
cin >> n;
int res = 0;
for(int i=0;i<n;i++){
cin >> a[i];
}
// for(int i=0;i<n;i++){
// for(int j=0;j<=i;j++){
// if(check(j,i))
// res = max(res,i-j+1);
// }
// }
for(int i=0,j=0;i<n;i++){
c[a[i]]++;
while(c[a[i]]>1){
c[a[j]]--;
j++;
}
res = max(res,i-j+1);
}
cout << res;
return 0;
}