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 }
原文地址:https://www.cnblogs.com/zgglj-com/p/7250286.html