题目链接
https://leetcode.cn/problems/top-k-frequent-elements/
代码
import heapq
class Solution:
def topKFrequent(self, nums: List[int], k: int) -> List[int]:
map_ = {}
for i in range(len(nums)):
map_[nums[i]] = map_.get(nums[i], 0) + 1
pri_que = []
for key, fre in map_.items():
heapq.heappush(pri_que, (fre, key))
if len(pri_que) > k:
heapq.heappop(pri_que)
result = [0] * k
for i in range(k - 1, -1, -1):
result[i] = heapq.heappop(pri_que)[1]
return result