HDU 1029题目解答:给定一个整数N,然后给出N个整数,统计出现次数最多的那个数并输出。
#include
#include
#include
#include
#include
#include
using namespace std;
const int MAX=1000009;
int n,ans,A[MAX];
//题目不难,有思路,可以排序(会超时)等
//但他应付不了强数据,所以要找出好的想法来
//排序法----------------------超时
//计数排序
void f1(){
memset(A,0,sizeof(A));
for(int i=0 ; i>ans;
A[ans]++;
if(A[ans] == (n+1)/2){
cout<<>>A[i];
}
sort(A,A+n);
cout<>A[i];
if(0 == cnt){
ans = A[i];
cnt = 1;
}else if(A[i] == ans){
cnt++;
}else{
cnt--;
}
}
cout<<>