数组中出现次数超过一半的数字
先记录数组中的第一个元素,并用count记录元素出现的次数
依次遍历数组元素
-
若val!=num[i]时
当count<0时,需要更新val为当前元素值
否则count– -
若val==num[i]时
count++
class Solution {
public int moreThanHalfNum_Solution(int[] nums) {
int count = 1, val = nums[0];
for (int i = 1; i < nums.length; i++) {
if (val != nums[i]) {
count--;
if (count < 0) {
count = 1;
val = nums[i];
}
} else
count++;
}
return val;
}
}
赞