LeetCode 169. 多数元素

169. 多数元素

解题思路

  • 使用 Boyer-Moore 投票算法,维护一个候选元素 res 和一个计数器 count,遍历数组中的每个元素:
    • 如果 count 为 0,则将当前元素设置为候选元素 res
    • 如果当前元素等于候选元素 res,则将计数器 count 加 1;否则,将计数器 count 减 1。
  • 最后返回候选元素 res 即可。

参考代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Solution {
public int majorityElement(int[] nums) {
int res = 0;
int count = 0;
for(int num : nums) {
if(count == 0) {
res = num;
}

if(num == res) {
count ++;
} else {
count --;
}
}
return res;
}
}

LeetCode 169. 多数元素
https://sowink.cn/2026/02/08/LeetCode-169-多数元素/
作者
Xurx
发布于
2026年2月8日
许可协议