【根据字符出现频率排序】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:

相关文章:
【根据字符出现频率排序】python刷题记录
R2-字符串算法 包哈希表的呀。 注意 class Solution:def frequencySort(self, s: str) -> str:dictdefaultdict(list)#字符串不能直接排序,需要转换为列表["a","b","c"]slist(s)for str in s:if not dict[str]:dict[str]1else:…...
活动报名小程序
#活动报名工具# # 活动报名小程序 ## 项目简介 一款通用的活动报名工具,包含活动展示,微信支付,订单管理,分享评价等功能。 品客聚精彩,有你才精彩!不只有线下活动还可以进行线上裂变活动。 …...
unity基础问题
1.一个列表中的UI有放大效果,用什么实现? 缩放,Layout组件可以勾选使用子级缩放,这样缩放之后也能保持间距 2.UGUI事件传递机制的冒泡机制是怎样的 事件系统从内向外遍历UI层次结构,通知父级UI元素有关该事件的信息。类…...
RedHat Enterprise Linux 7 YUM源(本地/网络源)配置详解
目录 一、挂载 二、建立本地源 三、建立网络源 四、验证可行性 一、挂载 ——将光盘挂载到 /mnt 下 当/mnt中有如图内容时,即挂载成功 若挂载光驱/dev/sr0时报错:mount: no medium found on /dev/sr0 解决措施:查看该设备状态是否全部勾选…...
关于顺序表数组下标的一些关系梳理
...
VS C++ Project(项目)的工作目录设置
如果只是简单创建一个VS CProject或者MFC Project,可能很多时候,只关心将Project放在硬盘的那个位置,与Project目录相关的的其他问题,并不引人注意,我们也不是十分在意。有时我们不得不进行工作目录方面的设置…...
STM32自定义协议串口接收解析指令程序
1、在使用串口接收自定义协议指令时,需要串口解析收到的是什么指令,举例通信报文为 上位机->单片机 名称 长度 备注 帧头 1Byte 0x5A 0x5A 帧长度 1Byte 数据包的长度0x00-0xFF 数据包 命令字 1Byte 功能标识 数据 可以为空 校验 …...
STM32——GPIO(点亮LEDLED闪烁)
一、什么是GPIO? GPIO(通用输入输出接口): 1.GPIO 功能概述 GPIO 是通用输入/输出(General Purpose I/O)的简称,既能当输入口使用,又能当输出口使用。端口,就是元器件…...
VulnHub靶机入门篇--kioptrix.level 3
1.环境准备 靶机:Kioptrix Level 3(Nat模式) 下载地址:https://download.vulnhub.com/kioptrix/KVM3.rar 攻击机:kali(192.168.26.128)(Nat模式) 2.渗透测试 信息收…...
aiGPT系统源码★重大升级★AI写作/AI绘画/AI音乐/AI视频
亲爱老铁们好,又一段时间未更新内容了,我依然是爱你们的神点妹,今天点妹给大家带来一波新的福利:咱们用的aiGPT经过攻城师们近半年来夜以继日的技术升级,今天终于迎来了新版上线首秀。此次升级内容包含:首先…...
Vue Router高级用法:动态路由与导航守卫
Vue Router是Vue.js官方的路由管理器,它和Vue.js的核心深度集成,让构建单页应用变得轻而易举。 动态路由 动态路由允许你在路由路径中使用变量,这些变量可以从实际的URL中获取,并传递给对应的路由组件。 定义动态路由 在route…...
江科大/江协科技 STM32学习笔记P9-11
文章目录 OLED1、OLED硬件main.c EXTI外部中断1、中断系统2、中断执行流程图3、STM32中断4、中断地址的作用5、EXTI6、EXTI基本结构7、AFIO复用IO口8、EXTI框图或门和与门 9、旋转编码器介绍10、硬件电路 OLED 1、OLED硬件 SCL和SDA是I2C的通信引脚,需要接在单片机…...
【培训通知】成为Power BI数据分析可视化实战第一人,加入3天直播即可
Power BI数据分析可视化实战课程培训是一门旨在提升学员在数据分析与可视化领域能力的专业课程。以下是对该培训课程的详细介绍: 一、课程概述 Power BI 是一种业务分析服务,能够提供深入的见解,帮助用户实现快速、明智的决策。该课程通过实…...
24暑假算法刷题 | Day22 | LeetCode 77. 组合,216. 组合总和 III,17. 电话号码的字母组合
目录 77. 组合题目描述题解 216. 组合总和 III题目描述题解 17. 电话号码的字母组合题目描述题解 77. 组合 点此跳转题目链接 题目描述 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 1: 输…...
一篇文章告诉你对讲机为什么不能被手机取代的7个原因
在智能时代,手机几乎无处不在,涵盖了从基本通信到多媒体娱乐的一切功能。然而,即使在这种情况下,对讲机仍然没有被完全取代。这不仅仅是出于怀旧或专业需求,还有许多实质性的原因使得对讲机在特定领域和情况下仍然保持…...
LION论文阅读
一、论文主要出发点 3D目标检测的性能受限于3D卷积的局部感受野。 Transformer在3D检测领域效果很好,但由于算力限制,已有的工作在pillar内,或将voxel分组在组内进行特征交互,阻碍了他们捕捉更远程的依赖关系。 线性RNN算子的计…...
在Android上实现汉字笔顺动画效果——HanZiWriter
序,万般皆是命,半点不由人。 Hanzi Writer 是 javascript 免费开源库,根据汉字书写时按照笔画顺序的特征,可以播放正确笔画顺序的描边动画和练习测试。支持简体字和繁体字。可以让全球用户能够通过手绘模仿的方式来学习和练习书写…...
黑马头条vue2.0项目实战(一)——项目初始化
1. 图标素材(iconfont简介) 制作字体图标的工具有很多,推荐使用:iconfont-阿里巴巴矢量图标库。 注册账户 创建项目 可以根据项目自定义 class 前缀 上传图标到项目 生成链接,复制 css 代码,在项目中使用…...
Unity Shader动画:用代码绘制动态视觉效果
在Unity中,Shader是运行在GPU上的小程序,用于控制顶点和像素的渲染过程。通过编写自定义Shader,开发者可以创造出各种令人惊叹的动画效果,从简单的颜色变化到复杂的流体模拟。本文将探讨如何使用Unity Shader来实现动画效果。 Sh…...
智税集成2.0生成凭证
:::info 💡 整体业务流程 从A9服务器中取数,生成列表数据,写入到对方oracle数据库中。 ::: 项目关键点 1.连接数据库 左连接连接本地SQLserver数据库、右连接要链接A9开票服务器的数据库然后设想用SQLserver 自带的外部连接来连接oracle数据…...
PCB设计新手必看:从零开始掌握PCB设计全流程
1. PCB设计入门:从零开始的完整指南 刚接触PCB设计时,我完全被各种专业术语和复杂流程搞懵了。直到自己动手做了几块板子,才发现其实只要掌握正确的方法,PCB设计并没有想象中那么难。这篇文章就是把我踩过的坑和积累的经验&#x…...
别再只会setValue了!Qt进度条QProgressBar/QProgressDialog的5个实战技巧与避坑指南
别再只会setValue了!Qt进度条QProgressBar/QProgressDialog的5个实战技巧与避坑指南 在开发文件管理器、下载工具或数据处理软件时,进度条往往是用户最直观的体验指标之一。一个"聪明"的进度条不仅能准确反映任务状态,还能提升用户…...
在WSL2 Ubuntu 22.04上搞定RK3568 SDK编译:我遇到的8个坑和填坑方法
在WSL2 Ubuntu 22.04上搞定RK3568 SDK编译:我遇到的8个坑和填坑方法 作为一名长期在Windows环境下工作的嵌入式开发者,第一次尝试在WSL2中编译RK3568 SDK的经历简直像是一场噩梦。从环境配置到最终构建成功,我踩遍了几乎所有可能的坑。这篇文…...
5步实现Switch控制器PC全功能适配:从连接到精通的设备适配指南
5步实现Switch控制器PC全功能适配:从连接到精通的设备适配指南 【免费下载链接】BetterJoy Allows the Nintendo Switch Pro Controller, Joycons and SNES controller to be used with CEMU, Citra, Dolphin, Yuzu and as generic XInput 项目地址: https://gitc…...
煤矿电液阀系统摄像仪护套连接器 DLJ01(1000)参数
在煤矿综采工作面液压支架电液控制系统中,摄像仪护套连接器 DLJ01(1000)作为矿用本安型摄像仪与电源、信号传输线缆之间的专用接口,承担着视频信号与供电的稳定传输任务。其型号中的“1000”代表线缆长度为1000mm(1米),…...
力扣原题《有效的数独游戏》,纯手搓,已验证
请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图) 注…...
【仿真】Carla跨平台部署指南:从零到一,附ROS2与Autoware.auto连接实战
1. Carla仿真平台概述 Carla是一款开源的自动驾驶仿真平台,基于虚幻引擎构建,能够提供高度逼真的城市环境和交通场景。我第一次接触Carla是在2018年,当时它还处于早期开发阶段,但已经展现出惊人的潜力。经过多年发展,现…...
PingFangSC 字体技术深度解析:现代Web字体架构实践指南
PingFangSC 字体技术深度解析:现代Web字体架构实践指南 【免费下载链接】PingFangSC PingFangSC字体包文件、苹果平方字体文件,包含ttf和woff2格式 项目地址: https://gitcode.com/gh_mirrors/pi/PingFangSC PingFangSC(苹方-简&#…...
PCap04电容测量实战:从传感器连接到串口通信的完整指南
PCap04电容测量实战:从传感器连接到串口通信的完整指南 当工程师面对高精度电容测量需求时,PCap04芯片往往成为解决复杂问题的关键。这款集成了数字信号处理能力的电容数字转换器(CDC),能够将皮法级电容变化转化为精确的数字信号。不同于传统…...
Mermaid在线编辑器:开源可视化工具的图表创作革命
Mermaid在线编辑器:开源可视化工具的图表创作革命 【免费下载链接】mermaid-live-editor Edit, preview and share mermaid charts/diagrams. New implementation of the live editor. 项目地址: https://gitcode.com/GitHub_Trending/me/mermaid-live-editor …...
