LeetCode 451. 根据字符出现频率排序 【map】【排序】
统计频率:使用 排序字符:将字符按照频率降序排列。如果频率相同,字符的顺序可以根据字符的自然顺序来决定。 构建结果字符串:根据排序后的字符频率,构建结果字符串。 统计频率:使用 排序字符:将字符及其频率对存储在列表中,并使用 构建结果字符串:遍历排序后的列表,对于每个字符,重复其频率次数并拼接到结果字符串中。
发布日期:2025-06-19 10:45:19
浏览次数:4
分类:精选文章
本文共 639 字,大约阅读时间需要 2 分钟。
为了解决这个问题,我们需要将给定的字符串中的字符按照它们的频率进行降序排列。相同频率的字符可以按照任意顺序排列,但必须连续出现。
方法思路
collections.Counter 来统计每个字符的频率。解决代码
from collections import Counterdef frequencySort(s): if len(s) < 2: return s count = Counter(s) sorted_chars = sorted(count.items(), key=lambda x: -x[1]) res = [] for char, freq in sorted_chars: res.append(char * freq) return ''.join(res)
代码解释
Counter 统计字符串中每个字符的出现次数。sorted 函数按频率降序排列。如果频率相同,按字符的自然顺序排列。这种方法确保了字符按照频率降序排列,且相同频率的字符连续出现,满足题目的要求。
发表评论
最新留言
不错!
[***.144.177.141]2026年06月02日 01时24分39秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
php教程之php空白页的原因及解决方法
2023-03-01
PHP数据库操作
2023-03-01
PHP数据文件过大,导致PHP加速器eaccelerator在PHP5.2版本下崩溃
2023-03-01
RabbitMQ - 死信、TTL原理、延迟队列安装和配置
2023-03-01
PHP数据访问的多重查询(租房子查询)
2023-03-01
RabbitMQ - 如保证消息的可靠性?(消息确认、消息持久化、失败重试机制)
2023-03-01
RabbitMQ - 基于 SpringAMQP 带你实现五种消息队列模型
2023-03-01
php数组函数分析--array_column
2023-03-01
php数组去重复数据的小例子
2023-03-01
php数组实现:哈希 +双向链表
2023-03-01
PHP数组排序函数array_multisort()函数详解(二)
2023-03-01
php数组的几个函数和超全局变量
2023-03-01
PHP文件上传详解
2023-03-01
PHP文件锁
2023-03-01
php文本框输入制定文本,php – 当用户没有向文本框输入任何内容时...
2023-03-01
PHP时间戳和日期相互转换操作总结
2023-03-01
php时间戳知识点,php 时间戳函数总结与示例
2023-03-01
php更新数据库失败,php – 无法更新MySQL数据库
2023-03-01
php机器人聊天对话框,基于AIML的PHP聊天机器人
2023-03-01
PHP查找数组中最大值与最小值
2023-03-01