Menu
CoddyTech

Top K Frequent Elements

中等堆哈希python iconjava iconcpp iconc iconjs icon+10

给定一个整数数组 nums 和一个整数 k。返回 nums 中出现频率最高的 k 个值,按频率从高到低排列。如果两个值出现的次数相同,则较小的值排在前面。

无论某个值在 nums 中出现多少次,它在答案中只出现一次,并且 k 不会大于不同值的数量。

函数

topKFrequent(nums: integer-array, k: integer) → integer-array
numsinteger-array
要计数的值
kinteger
要返回多少个值
返回值integer-array
按频率从高到低排列的 k 个值,频率相同时较小的值排在前面

约束条件

  • 1 ≤ nums.length ≤ 104
  • -104 ≤ nums[i] ≤ 104
  • 1 ≤ k,并且 k 不超过 nums 中不同值的数量。

示例

输入
nums = [4, 1, 4, 2, 1, 4, 3, 1, 4]k = 2
输出
[4, 1]
解释
4 出现了 4 次,1 出现了 3 次,2 和 3 各出现了 1 次。出现次数最多的两个值依次是 4 和 1。
重置代码
def topKFrequent(nums, k):
    # 在这里编写代码

测试 #1

测试 #2

测试 #3

参数

nums = [4, 1, 4, 2, 1, 4, 3, 1, 4]
k = 2

预期输出

[4, 1]