HDU-5123-who is the best?

题目链接

http://acm.hdu.edu.cn/showproblem.php?pid=5123

水题一个,直接hash;

代码

#include<stdio.h>
#include<string.h>

int main(void)
{
int i,j,k,n,t;
int a[110];
int hash[110];
scanf("%d",&t);
while(t--)
{
memset(hash,0,sizeof(hash));
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",a+i);
hash[a[i]]++;
}
int Max=0,tragt;
for(i=1;i<=n;i++)
{
if(hash[i]>Max)
{
Max=hash[i];
tragt=i;
}
}
printf("%d ",tragt);
}
return 0;
}

官方解析

1001 who is the best?
我们对于每个ai都进行计数,即b[ai]++,如此之后,我们可以一个循环语句i=1>n来寻找最大的bi,注意此时应是bi>MAX,而不是biMAX,这样才能保证出现的是编号最小的。另外需要注意的是每次做完后数组应当清0,否则会影响下次的答案,由于各种非确定性因素我在小数据就已经把没清0的程序卡死了。
原文地址:https://www.cnblogs.com/liudehao/p/4133675.html