class Solution {
public int majorityElement(int[] nums) {
int candidate = 0;
candidate = nums[0];
int count =1;
for(int i=1;i<nums.length;i++){
if(candidate==nums[i]){
count++;
}else{
count--;
}
if(count==0){
candidate = nums[i];
count=1;
}
}
return candidate;
}
}
- 2.5
- 摩尔投票法(其实就是消消乐,不是自己人就杀,是自己人就抱一起,最后留下来的候选人一定超过半数)
class Solution {
public int majorityElement(int[] nums) {
int candidate = nums[0];
int count = 0;
for(int num:nums){
if(count==0){
candidate=num;
}
if(num==candidate){
count++;
}else{
count--;
}
}
return candidate;
}
}