rt,思路是分重复和不重复两种情况
#include<bits/stdc++.h>
using namespace std;
int a[1000010],maxn=-1e9;
map<int,int> mp;
int main(){
int T;
cin>>T;
while(T--){
int n;
cin>>n;
mp.clear();
for(int i=1;i<=n;i++){
cin>>a[i];
}
mp[a[1]]=1;
int l=1,r=1;
maxn=-1e9;
while(l<=r&&r<=n){
if(mp[a[r]]>1){
l++;
if(--mp[a[l]]==1)
break;
}
if(mp[a[r]]==1){
maxn=max(maxn,r-l+1);
r++;
mp[a[r]]++;
}
}
}
cout<<maxn;
return 0;
}