找一个数组中出现次数多于 (N+1)/2的那个数
排个序,然后找出现次数最多的那个数
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int a[1000005];
int main()
{
int n,x,y,m,mx;
while(cin>>n){
for(int i=0;i<n;i++) cin>>a[i];
sort(a,a+n);
x=a[0];y=1;
m=0;
for(int i=1;i<n;i++){
if(a[i]!=x){
if(m<y){
mx=x;
m=y;
}
x=a[i];
y=1;
}
else y++;
}
if(m<y){
mx=x;
m=y;
}
cout<<mx<<endl;
}
return 0;
}