这个算法流计算的课上面讲过, 就是计算一个数组中出现次数最多的元素
用一个counter做加减法就可以
Example 1:
Input: [3,2,3]
Output: 3
Example 2:
Input: [2,2,1,1,1,2,2]
Output: 2
public class Solution {
public int majorityElement(int[] num) {
//先把最开始的元素作为出现最多的元素,count记为1
int major=num[0], count = 1;
//遍历数组
for(int i=1; i<num.length;i++){
//如果count减到0了,我们换当前的元素为出现最多的元素,count设为1
if(count==0){
count++;
major=num[i];
//如果遇到了出现最多的元素,计数+1
}else if(major==num[i]){
count++;
//否则减一
}else count--;
}
return major;
}
}