摩尔投票法,问题在于这只能求超过一半的,超过 1 / 3 1/3 1/3的该怎么求呢?
class Solution {
public int majorityElement(int[] nums) {
int majorityElement = nums[0];
int cnt = 0;
for(int num : nums){
if(num == majorityElement)
cnt++;
else{
cnt--;
if(cnt == 0){
majorityElement = num;
cnt = 1;
}
}
}
return majorityElement;
}
}