用一个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; }