public class Solution { public int MoreThanHalfNum_Solution(int [] array) { //初始化 int num = array[0] ;//候选人 int tik = 1 ;//票数 for(int i = 1 ; i < array.length ;) { if(array[i] == num) {//投票 tik ++ ; i ++ ; } else { tik -- ;//减票 if(tik == 0) {//票为0 if(i+1 < array.length) {//还有候选人 num = array[i+1] ;//换候选人 tik = 1 ;//初始票 i+=2 ;//下一个投票起始处 } else { return -1 ;//无候选人了,返回-1 } } else {//票不为0,继续投票 i++ ; } } } return num ; } }