此题与347题一模一样。
347.Top-K-Frequent-Elements.md
典型的先用字典把元素出现的个数存储,然后再对字典排序,完事。
代码
def frequencySort(self, s: str) -> str:
import collections
dic = collections.Counter(s) # 统计字符以及出现次数,生成字典
dic = sorted(dic.items(), key=lambda x: x[1], reverse=True) # 排序,返回列表
rel = ''
for item in dic:
rel += (item[0] * item[1]) # rel += 字符 * 该字符出现次数
return rel
改写
def frequencySort(self, s: str) -> str:
return ''.join(c * count for c, count in Counter(s).most_common())