#4525. 多数元素II

多数元素II

题目描述

给定一个大小为 n 的整数数组,找出其中所有出现超过 n/3⌊ n/3 ⌋ 次的元素。(n/3⌊ n/3 ⌋表示 n÷3n \div 3 的结果向下取整。)

输入格式

第一行一个整数 nn,表示数组长度;

接下来 n 个空格隔开的整数 numsinums_i 表示数组中的元素。

输出格式

一行,表示答案。如果有多个请按从小到大的顺序输出。

示例

示例 1:

3
3 2 3
3

示例 2:

1
1
1

示例 3:

2
1 2
1 2

提示:

  • 1<=n<=51051 <= n <= 5 * 10^5
  • 109<=nums[i]<=109-10^9 <= nums[i] <= 10^9
  • 40% 测试点的内存限制为 5Mb,时间限制 100MS。

尝试设计时间复杂度为 O(n)、额外空间复杂度为 O(1)的算法可解决此40%问题。

}