有n个(1≤n≤1000) int类型的整数,统计其中重复出现次数最多的数。
输入格式:
第 1 行:整数T(1≤T≤10)为问题数。
第 2 行:整数n为第一个问题中整数的个数。
第 3 行:第一个问题中的n个整数,每两个数字之间用一个空格分开。
接下来每个问题占两行,格式与第一个问题相同。
输出格式:
对于每个问题,输出一行问题的编号(0开始编号,格式:case #0: 等);然后在一行中输出1个整数,表示重复出现最多的整数出现的次数。
输入样例:
3
4
8 1 2 1
3
-1 -1 10000
13
1 1 1 6 2 3 6 0 4 9 6 5 8
输出样例:
case #0:
2
case #1:
2
case #2:
3
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,m,item;
cin>>n;//记录测试组数
for(int j=0;j<n;j++)
{
i=0;
cin>>m;
map<int,int> s;//因为测试样例里面有负数,桶排的那种方法就不好使了,所以这里使用的是map
while(m--){
cin>> item;
s[item]++;//进map中
}
map<int,int>::iterator it;
int maxn=0;
for(it=s.begin();it!=s.end();it++){//遍历map,找出最大值
it->second>maxn?maxn=it->second:maxn=maxn;
}
cout<<"case #"<<j<<":"<<endl<<maxn<<endl;
}
return 0;
}