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 ;
}
}

京公网安备 11010502036488号