题目描述
给定一个字符串,请将字符串里的字符按照出现的频率降序排列。
示例 1:
输入:
“tree”
输出:
“eert”
解释:
'e’出现两次,'r’和’t’都只出现一次。
因此’e’必须出现在’r’和’t’之前。此外,"eetr"也是一个有效的答案。
链接:https://leetcode-cn.com/problems/sort-characters-by-frequency
python3 实现
class Solution:
def frequencySort(self, s: str) -> str:
field={}
for i in range(len(s)):
if s[i] not in field:
field[s[i]]=1
else :
field[s[i]]+=1
field=sorted(field.items(),key=lambda x:x[1],reverse=True) #字典根据value值排序
print(field,type(field)) #list型
res=''
for i in range(len(field)):
res+=field[i][0]*field[i][1]
return res
本文介绍了一种算法,用于将字符串中的字符按照其出现的频次从高到低进行排序。通过示例演示了如何使用Python实现这一算法,包括创建字典记录每个字符的出现次数,然后对字典项按照值进行排序,最后根据排序结果生成新的字符串。
359

被折叠的 条评论
为什么被折叠?



