题意:N个人去投票,输出得票最多人的编号,若每个人的得票相同,输出编号最小的那个。
解题思路:利用map函数直接暴力,详见代码。
Code:
#include <iostream>
#include <cstdio>
#include <map>
using namespace std;
map<int,int>vis;
int main()
{
//freopen("input.txt","r",stdin);
int T,N,a;
scanf("%d",&T);
while(T--)
{
vis.clear();
scanf("%d",&N);
for(int i = 0; i<N; i++)
{
scanf("%d",&a);
vis[a]++;
}
int flag = 0,num = 0;
for(map<int,int>::iterator it = vis.begin(); it!= vis.end(); it++)
{
if(it->second > flag) { flag = it->second; num = it->first;}
}
printf("%d\n",num);
}
return 0;
}