题目链接
英文链接:https://leetcode.com/problems/majority-element-ii/
中文链接:https://leetcode-cn.com/problems/majority-element-ii/
题目详述
给定一个大小为 n 的数组,找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素。
说明: 要求算法的时间复杂度为 O(n),空间复杂度为 O(1)。
示例 1:
1 | 输入: [3,2,3] |
示例 2:
1 | 输入: [1,1,1,3,3,2,2,2] |
题目详解
- LeetCode169-求众数 是求出现次数大于
⌊ n/2 ⌋的元素,最多有一个。本题是求出现次数大于⌊ n/3 ⌋的元素,最多有两个。 - 解决方法是相同的,都是采用摩尔投票算法。
- 不过本题不保证满足条件的元素一定存在,所以最后还需要进行判断。
1 | public class LeetCode_00229 { |