杭电1029 题

//思路:输出N个整数,输出出现次数大于(N+1)/2的数
//不要想的太复杂了
#include <iostream>
using namespace std;
int main()
{
 int num,i,n,x,a[32768];
 while(scanf("%d",&num)!=EOF)
 {
  //将a进行初始化
  memset(a,0,sizeof(a));
  for(i=0;i<num;i++)
  {
   scanf("%d",&n);
   a[n]++;
   if(a[n]>=(num+1)/2)
    x=n;
  }
  printf("%d\n",x);
 }
 return 0;
}

你可能感兴趣的:(杭电)