题目地址:点击打开链接
思路:水题,求一个由n个数组成的数组种至少出现(n+1)/2次的数
AC代码:
#include<stdio.h>
#include<string.h>
int a[500000];
int main()
{
int n,i,j,b,k;
while(scanf("%d",&n) != EOF)
{
memset(a,0,sizeof(a));
for(i=0; i<n; i++)
{
scanf("%d",&b);
a[b]++;
if(a[b] == (n+1) / 2)
{
k = b;
break;
}
}
for(j=i+1; j<n; j++)
scanf("%d",&b);
printf("%d\n",k);
}
return 0;
}