169. 多數元素
EasyMajority Element
ArrayHash TableSortingGreedyCounting
解法思路
- 使用 Boyer-Moore 投票演算法,維護一個候選人 candidate 和計數器 count
- 遍歷陣列:若 count 為 0,將當前元素設為候選人
- 若當前元素等於候選人則 count++,否則 count--
- 最終留下的候選人即為多數元素(因其出現次數超過一半)
複雜度分析
- 時間複雜度:O(n)
- 空間複雜度:O(1)
陣列 nums
2
[0]2
[1]1
[2]1
[3]1
[4]2
[5]2
[6]候選人
?
計數
0
初始狀態:準備開始 Boyer-Moore 投票演算法。候選人尚未確定,計數為 0。
1 / 16