题目来源:https://leetcode-cn.com/problems/majority-element/
思路:摩尔投票法
class Solution {
public int majorityElement(int[] nums) {
int len = nums.length;
if(len == 0){
return 0;
}
int res = nums[0];
int count = 1;
for(int i = 1;i<len;i++){
if(count == 0){
count = 1;
res = nums[i];
}else{
count += res ==nums[i]?1:-1;
}
}
//检查答案是否正确。
//题目有输入限制,可以不用检查
count = 0;
for(int i = 0;i<len ;i++){
if(nums[i] == res){
count++;
}
}
if(count<=len/2){
System.out.println("不存在出现次数超过一半的数字!");
}
return res;
}
}