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\n",tragt);
}
return 0;
}

官方解析

1001 who is the best?
我们对于每个ai都进行计数,即b[ai]++,如此之后,我们可以一个循环语句i=1−>n来寻找最大的bi,注意此时应是bi>MAX,而不是bi≤MAX,这样才能保证出现的是编号最小的。另外需要注意的是每次做完后数组应当清0,否则会影响下次的答案,由于各种非确定性因素我在小数据就已经把没清0的程序卡死了。
上一篇:LeetCode算法题-Find All Anagrams in a String(Java实现)


下一篇:flink1.12 内存和提交参数