Sort Characters By Frequency
Given a string, sort it in decreasing order based on the frequency of characters.
Example
Input:
“tree”
Output:
“eert”
Explanation:
‘e’ appears twice while ‘r’ and ‘t’ both appear once.
So ‘e’ must appear before both ‘r’ and ‘t’. Therefore “eetr” is also a valid answer.
Solution
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14import collections class Solution: def frequencySort(self, s: str) -> str: dic = collections.defaultdict(int) for k in s: dic[k]+=1 heap = [(-n, v) for v,n in dic.items()] heapq.heapify(heap) ret = '' while heap: n,v = heapq.heappop(heap) ret += (-n)*v return ret
最后
以上就是内向麦片最近收集整理的关于[LeetCode]Sort Characters By Frequency@Python的全部内容,更多相关[LeetCode]Sort内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复