时间限制: 1 Sec 内存限制: 64 MB
题目描述
给你一组数(未排序),请你写设计一个程序:求出里面个数最多的数(可以不连续出现),并输出这个数的长度。例如:给你的数是:1、 2、 3、 3、 4、 4、 5、 5、 5 、6, 其中只有6组数:1, 2, 3-3, 4-4, 5-5-5 and 6. 最长的是5那组,长度为3。所以输出3。
输入
第一行为整数t((1 ≤ t ≤ 10)),表示有n组测试数据。每组测试数据包括两行,第一行位数组的长度n (1 ≤ n ≤ 10000)。第二行为n个整数,所有整数Mi的范围都是(1 ≤ Mi ≤ 232)
输出
对应每组数据,输出个数最多的数的长度。
样例输入
1101 2 3 3 4 4 5 5 5 6
样例输出
3
提示
来源
#include <bits/stdc++.h>
#define cl(x) memset(x,0,sizeof(x))
#define _cl(a,b) memset(a,0,(b+1)<<2)
#define At(x,y) memset(x,y,sizeof x)
#define rep(i,a,b) for(int i=a;i<=b;i++)
#define drep(i,a,b) for(int i=a;i>=b;i--)
#define ll long long
#define pb push_back
#define vct vector
#define pq priority_queue
#define all(x) x.begin(),x.end()
#define int long long
#define fi first
#define se second
//#pragma GCC optimize(2)
using namespace std;
inline int min(int a,int b) {return a<b?a:b;}
inline int max(int a,int b) {return a>b?a:b;}
//map<string,map<string,int> > mp;
//pq <ll,vct<ll>,less<ll> > now,last;
//vct<vct<int> > vt(n+1,vct<int>(m+1,0))
const int inf=0x3f3f3f3f;
const ll INF=0x3f3f3f3f3f3f3f3f;
const ll mod=1e9+7;
const int MOD=998244353;
const int N=1e4+10;
int n,m;
int a[N];
void solve()
{
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
sort(a+1,a+n+1);
int cnt=1;
int ans=1;
for(int i=2;i<=n;i++){
if(a[i]!=a[i-1]) cnt=1;
else cnt++;
ans=max(ans,cnt);
}
cout<<ans<<"\n";
return ;
}
signed main()
{
//srand(time(NULL));
//freopen("2022_XinShengSai_1.in", "r", stdin);
//freopen("2022_XinShengSai_1.out", "w", stdout);
//ios::sync_with_stdio(false);
//cin.tie(0); cout.tie(0);
int t;
cin>>t;
//t=1;
while(t--)
solve();
return 0;
}
/*
*/