Posted on 2023-05-22 16:20
Uriel 阅读(30)
评论(0) 编辑 收藏 引用 所属分类:
闲来无事重切Leet Code 、
大水题
给出一个数组,输出出现频次最高的k个数(输出的顺序无限制),dict统计频次再sort
1 #347
2 #Runtime: 76 ms (Beats 90.9%)
3 #Memory: 16.8 MB (Beats 53.94%)
4
5 class Solution(object):
6 def topKFrequent(self, nums, k):
7 """
8 :type nums: List[int]
9 :type k: int
10 :rtype: List[int]
11 """
12 cnt = defaultdict(lambda:0)
13 for i in nums:
14 cnt[i] += 1
15 a = sorted(cnt.items(), key=lambda item: item[1], reverse=True)
16 ans = []
17 for x in a:
18 ans.append(x[0])
19 return ans[0:k]