public class Solution { public int MoreThanHalfNum_Solution(int [] array) { if(array==null||array.length==0)return 0; int morgen=0; int vote=0; for(int i=0;i<array.length;i++){ if(vote==0){ morgen=array[i]; vote++; }else{ if(array[i]==morgen){ vote++; }else{ vote--; } } } int tmp=0; for(int i=0;i<array.length;i++){ if(array[i]==morgen){ tmp++; } if(tmp>array.length/2){ return morgen; } } return 0; } }用摩尔投票法 可使时间复杂度为On 空间复杂度为O1.