思路: 哈希 、空间换时间
sorted()
class Solution:
def topKFrequent(self, nums, k) :
cnt = dict()
for v in nums:
if v in cnt:
cnt[v]+=1
else:
cnt[v] = 1
cnt = sorted(cnt.items(),key=lambda x:x[1],reverse=True)
ans = []
for i in range(k):
ans.append(cnt[i][0])
return ans
sorted() 函数对所有可迭代的对象进行排序操作.
会保留原队列,返回一个新的队列
sorted(iterable, cmp=None, key=None, reverse=False)
- iterable -- 可迭代对象。
- cmp -- 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。
- key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
- reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。
能用key 就用key 来进行比较