原题地址

0501.png0502.png

此题与347题一模一样。
347.Top-K-Frequent-Elements.md

典型的先用字典把元素出现的个数存储,然后再对字典排序,完事。

代码

  1. def frequencySort(self, s: str) -> str:
  2. import collections
  3. dic = collections.Counter(s) # 统计字符以及出现次数,生成字典
  4. dic = sorted(dic.items(), key=lambda x: x[1], reverse=True) # 排序,返回列表
  5. rel = ''
  6. for item in dic:
  7. rel += (item[0] * item[1]) # rel += 字符 * 该字符出现次数
  8. return rel

改写

  1. def frequencySort(self, s: str) -> str:
  2. return ''.join(c * count for c, count in Counter(s).most_common())