https://leetcode-cn.com/problems/shu-zu-zhong-chu-xian-ci-shu-chao-guo-yi-ban-de-shu-zi-lcof/
使用摩尔投票,使用两个变量。遍历数组
第一个记录当前遍历的数组的值,第二个记录当前遍历数字出现的次数
如果下一个数字和上一个是相同的,那么记录的变量就+1,不同的就-1,当减到0的时候,第一个记录当前值的变量就变成使votes减到0 的那个数字
class Solution {
public int majorityElement(int[] nums) {
int x = 0, votes = 0;
for(int num : nums){
if(votes == 0) x = num;
votes += num == x ? 1 : -1;
}
return x;
}
}