Unique Snowflakes
1 #include<set> 2 #include<cstdio> 3 #include<cstring> 4 #include<iostream> 5 #include<algorithm> 6 using namespace std; 7 8 const int maxn=1000005; 9 10 int T,n; 11 int a[maxn]; 12 13 int main() 14 { cin>>T; 15 while(T--){ 16 cin>>n; 17 for(int i=0;i<n;i++) scanf("%d",&a[i]); 18 19 set<int> q; 20 int l=0,r=0,ans=0; 21 while(r<n){ 22 while(r<n&&!q.count(a[r])) q.insert(a[r++]); // count()返回某个值元素的个数 ! 23 ans=max(ans,r-l); 24 q.erase(a[l++]); // erase()删除集合中的元素 ! 25 } 26 cout<<ans<<endl; 27 } 28 return 0; 29 }