当前位置: 首页 > news >正文

【根据字符出现频率排序】python刷题记录

R2-字符串算法

包哈希表的呀。 

注意

class Solution:def frequencySort(self, s: str) -> str:dict=defaultdict(list)#字符串不能直接排序,需要转换为列表["a","b","c"]s=list(s)for str in s:if not dict[str]:dict[str]=1else:dict[str]+=1#降序排序s.sort(key=lambda x:dict[x],reverse=True)#转换回字符列表return ''.join(s)

遇到问题,那我按照key乘value不就可以了吗。很ok的感觉。

class Solution:def frequencySort(self, s: str) -> str:dict=defaultdict(int)#字符串不能直接排序,需要转换为列表["a","b","c"]s=list(s)ret=[]# 统计每个字符出现的次数for char in s:dict[char] += 1# 降序排序,按照次数进行输出# 使用 sorted() 而不是 sort()for key in sorted(dict.keys(), key=lambda x: dict[x], reverse=True):ret.append(key * dict[key])# 转换回字符串return ''.join(ret)

香香。

思路也可如下:

最好是这样输出('a'*3)

另解:

class Solution:def frequencySort(self, s: str) -> str:# 使用 collections.Counter 来统计每个字符的出现次数# Counter(s) 会返回一个字典,其中键是字符,值是该字符出现的次数char_count = collections.Counter(s)# 使用 most_common() 方法来获取一个按出现次数降序排列的字符及其计数的列表# most_common() 默认返回所有元素,你可以传递一个参数来指定返回多少个最常见的元素sorted_char_count = char_count.most_common()# 使用列表推导式来创建一个新列表,其中每个元素是字符乘以其出现的次数# 例如,如果字符 'a' 出现了 3 次,那么列表中将包含 'aaa'char_list = [i * j for i, j in sorted_char_count]# 使用 ''.join() 方法将列表中的所有字符串连接成一个字符串,并返回return ''.join(char_list)

eg: 

s = "tree"
solution = Solution()
print(solution.frequencySort(s))  # 输出 "eert" 或 "eetr",因为 'e' 出现 2 次,'t' 和 'r' 各出现 1 次

我靠????!!!100%???!!! 

好熟悉啊python语法

听说还能用大顶堆和顶排序

ps:

http://www.lryc.cn/news/409258.html

相关文章:

  • 活动报名小程序
  • unity基础问题
  • RedHat Enterprise Linux 7 YUM源(本地/网络源)配置详解
  • 关于顺序表数组下标的一些关系梳理
  • VS C++ Project(项目)的工作目录设置
  • STM32自定义协议串口接收解析指令程序
  • STM32——GPIO(点亮LEDLED闪烁)
  • VulnHub靶机入门篇--kioptrix.level 3
  • aiGPT系统源码★重大升级★AI写作/AI绘画/AI音乐/AI视频
  • Vue Router高级用法:动态路由与导航守卫
  • 江科大/江协科技 STM32学习笔记P9-11
  • 【培训通知】成为Power BI数据分析可视化实战第一人,加入3天直播即可
  • 24暑假算法刷题 | Day22 | LeetCode 77. 组合,216. 组合总和 III,17. 电话号码的字母组合
  • 一篇文章告诉你对讲机为什么不能被手机取代的7个原因
  • LION论文阅读
  • 在Android上实现汉字笔顺动画效果——HanZiWriter
  • 黑马头条vue2.0项目实战(一)——项目初始化
  • Unity Shader动画:用代码绘制动态视觉效果
  • 智税集成2.0生成凭证
  • B4005 [GESP202406 四级] 黑白方块 【暴力枚举】【前缀和】
  • 深度学习趋同性的量化探索:以多模态学习与联合嵌入为例
  • 决策树与随机森林:比较与应用场景分析
  • C#用Aspose.Cells导出Excel,.NET导出Excel
  • 天猫番茄品类TOP1,复购率超40%,「一颗大」如何策划极致产品力?
  • Docker搭建私有仓库harbor(docker 镜像仓库搭建)
  • 面试题:MySQL 索引
  • 云计算day13
  • 2024年孝感中级职称报名开始了吗?
  • RAG技术之Router
  • linux系统通过修改sudo文件使普通用户拥有类似root用户权限