代码:
#include
#include
using namespace std;
int num=0;
int sum=0;
int count(int a[],int s,int e){
int n=a[(s+e)/2];
int counts=0;
for(int i=s;i<e;i++) {
if(a[i]==n)
counts++;
}
return counts;
}
int start(int a[],int s,int e){
int x=0;
for(int i=s;i<e;i++) {
if(a[i]==a[(s+e)/2]) {
x=i;
break;
}
}
return x;
}
void main( int a[],int s,int e){
int tnum=(s+e)/2;
int tsum=count(a,s,e);
int left=start(a,s,e);
if(tsum>sum) {
sum=tsum;
num=a[tnum];
}
if(e-(left+tsum)>sum)
main(a,left+tsum,e);
if(left>sum)
main(a,s,left);
}