用一个for循环解决
菜鸟的想法如下:
public static int MoreThanHalfNum_Solution(int [] array) {
if(array.length==0){
return 0;
}
if(array.length==1){
return array[0];
}
int sum=1;
int j=0;
int le=0;
int res=0;
boolean lag=false;
if(array.length%2==0){
le=array.length/2;
lag=true;
}else{
le=array.length/2+1;
}
for(int i = 1;i<array.length;i++){
if(array[j]==array[i]){
sum++;
}else
{
if(i==array.length-1){
sum=1;
j++;
i=j;
}else {
continue;
}
}
if(lag){
if(sum>le){
res=array[j];
break;
}
}else{
if(sum>=le){
res=array[j];
break;
}
}
}
return res;
}
京公网安备 11010502036488号