LeetCode 169. 多数元素
//摩尔投票法 //1.如果候选人不是maj 则 maj,会和其他非候选人一起反对 会反对候选人,所以候选人一定会下台(maj==0时发生换届选举) //2.如果候选人是maj , 则maj 会支持自己,其他候选人会反对,同样因为maj 票数超过一半,所以maj 一定会成功当选 class Solution { public int majorityElement(int[] nums) { int count = 0; int maj = -1; for(int num : nums){ if(count == 0){ maj = num; } if(maj == num){ count++; }else{ count--; } } return maj; } }
评论区的大神xinchen给出了风趣的解释,