Uriel's Corner

Research Associate @ Harvard University / Research Interests: Computer Vision, Biomedical Image Analysis, Machine Learning
posts - 0, comments - 50, trackbacks - 0, articles - 594
给出一个数组,输出出现频次最高的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]

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理