频数相关的leetcode:451 Sort Characters By Frequency& 347 Top K Frequent Elements

来源:互联网 发布:抄袭检测软件 编辑:程序博客网 时间:2024/06/06 03:38

利用字典,zip函数,再排序,则这两个题投机取消的很简单。

347 Top K Frequent Elements

class Solution(object):    def topKFrequent(self, nums, k):        d={}        for i in nums:            if i in d:                d[i]+=1            else:                d[i]=0        f=sorted(zip(d.values(),d.keys()),reverse=True)        return [f[j][1] for j in range(k)]

451 Sort Characters By Frequency

class Solution(object):    def frequencySort(self, s):        """        :type s: str        :rtype: str        """        d={}        for i in s:            if i in d:d[i]+=1            else:d[i]=1        f=sorted(zip(d.values(),d.keys()),reverse=True)        print(f)        ans=''        for j in f:            ans+=j[1]*j[0]        return ans
0 0
原创粉丝点击