原题链接 http://acm.nyist.net/JudgeOnline/problem.php?pid=95
原理:用multiset存放数据,再遍历该集合,得出众数。
代码如下:
#include<stdio.h>
#include<set>
using namespace std;
int t,n;
int num,numt;
int main()
{
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
multiset<int>m;
while(n--)
{
scanf("%d",&num);
m.insert(num);
}
multiset<int>::iterator it=m.begin();
num=*it;
numt=m.count(num);
it++;
while(it!=m.end())
{
if(m.count(*it)>numt)
{
num=*it;
numt=m.count(*it);
}
it++;
}
printf("%d %d\n",num,numt);
}
return 0;
}