题目描述:
算法:
class Solution {
public int majorityElement(int[] nums) {
int candidate=0;
int count=0;
for (int i = 0; i < nums.length; i++) {
if(count==0){
candidate=nums[i];
}
if(nums[i]==candidate){
count++;
}else {
count--;
}
}
return candidate;
}
}
理解:
核心思想:众数比其他数多1
前面相当于是众数的数和不是众数的数搁那儿一直抵消呢。
当count=0是,下一个数是候选众数,前面都被抵消完了,只能新的来。