思路 双指针扫描 将数存到数组中 遍历时双指针扫描每个数后面有多少个数与他相等,记录然后与答案取max,记得开long long。
参考代码:
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdio>
#include<vector>
using namespace std;
const int N = 10010;
long long a[N];
int n,t;
int main(){
cin>>t;
while(t--){
int n;
cin>>n;
memset(a,0,sizeof a);
for(int i=0;i<n;i++){
cin>>a[i];
}
sort(a,a+n);
long long res=-1;
// cout<<a[0]<<endl;
for(int i=0;i<n;i++){
long long temp=1;
for(int j=i+1;j<n;j++){
if(a[j]==a[i]){
temp++;
}else{
i=j-1;
break;
}
}
res=max(res,temp);
}
cout<<res<<endl;
}
return 0;
}