451.根据字符出现频率排序
给定一个字符串,请将字符串里的字符按照出现的频率降序排列。
示例 1:
输入:"tree" 输出:"eert" 解释:'e'出现两次,'r'和't'都只出现一次。 因此'e'必须出现在'r'和't'之前。此外,"eetr"也是一个有效的答案。
示例 2:
输入:"cccaaa" 输出:"cccaaa" 解释:'c'和'a'都出现三次。此外,"aaaccc"也是有效的答案。 注意"cacaca"是不正确的,因为相同的字母必须放在一起。
示例 3:
输入:"Aabb" 输出:"bbAa" 解释:此外,"bbaA"也是一个有效的答案,但"Aabb"是不正确的。 注意'A'和'a'被认为是两种不同的字符。
class Solution {
public:
string frequencySort(string s) {
string res = "";
priority_queue<pair<int, char>> q;
unordered_map<char, int> m;
for (char c : s) ++m[c];
for (auto a : m) q.push({a.second, a.first});
while (!q.empty()) {
auto t = q.top(); q.pop();
res.append(t.first, t.second);
}
return res;
}
};
451.根据字符出现频率排序相关推荐
- LeetCode Algorithm 451. 根据字符出现频率排序
451. 根据字符出现频率排序 Ideas Python解法:用个计数器,然后遍历计数器把相应字符乘以出现次数拼接起来就可以了. Code Python from collections import ...
- leetcode 451. 根据字符出现频率排序
给定一个字符串,请将字符串里的字符按照出现的频率降序排列. 示例 1:输入: "tree"输出: "eert"解释: 'e'出现两次,'r'和't'都只出现一次 ...
- LeetCode 451 根据字符出现频率排序
题目描述 给定一个字符串,请将字符串里的字符按照出现的频率降序排列. 题解 桶排序 代码 class Solution { public:string frequencySort(string s) ...
- LeetCode 451. 根据字符出现频率排序(Sort Characters By Frequency)
题目描述: 给定一个字符串,请将字符串里的字符按照出现的频率降序排列. 示例 1: 输入: "tree"输出: "eert"解释: 'e'出现两次,'r'和't ...
- Leetcode 451. 根据字符出现频率排序 解题思路及C++实现
解题思路: 先使用unordered_map对字符串s中字符,进行频数统计: 再使用最大堆,对unorder_map进行排序: 接着将排序结果存在结果字符串res中. class Solution { ...
- LeetCode 451. 根据字符出现频率排序(map+优先队列)
1. 题目 给定一个字符串,请将字符串里的字符按照出现的频率降序排列. 输入: "tree"输出: "eert" 2. 优先队列解题 先用map统计字符出现次数 ...
- 451. 根据字符出现频率排序golang
官解 func frequencySort(s string) string {charMap := make(map[rune]int)arr := make([]string, len(s))fo ...
- c++ list排序_LeetCode.451-根据字符出现频率排序
根据字符出现频率排序 力扣leetcode-cn.com 给定一个字符串,请将字符串里的字符按照出现的频率降序排列. 参考了评论区 Felix8bit 的答案 解题思路: 先根据每个词出现的概率进行 ...
- LeetCode中等题之根据字符出现频率排序
题目 给定一个字符串,请将字符串里的字符按照出现的频率降序排列. 示例 1: 输入: "tree" 输出: "eert" 解释: 'e'出现两次,'r'和't' ...
- 根据字符出现频率排序
给定一个字符串,请将字符串里的字符按照出现的频率降序排列. 示例 1: 输入: "tree"输出: "eert"解释: 'e'出现两次,'r'和't'都只出现一 ...
最新文章
- 记录一次异常 出现不支持的 SQL92 标记: 70
- malloc()参数为0的情况
- linux控制命令使用限制,【L-shell】Linux 系统下 限制用户的活动目录,控制用户使用命令的权限。...
- 速递|2021双11阿里云数据库技术快报
- VUE初始化一个项目
- docker搭建pxc集群
- android 动态contextmenu,Context-Menu.Android
- apache 网站转nginx_堡塔网站加速宝塔面板网站加速安装设置使用教程
- python 防破解_Python 程序员如何防止数据被修改?
- slz-servlet的引入
- sql与MySQL like用法_MySQL中Like概念及用法讲解
- QVector、QList、QLinkedList 类
- 【工具使用】Modscan32软件使用详解
- 谈一谈凑单页的那些优雅设计
- 解决联想拯救者Y7000安装ubuntu系统wifi无法连接以及关机卡死问题
- ztext - 简单几行代码创建酷炫 3D 特效文字的开源 JS 库
- 经典的71个做饭技巧,当你熟悉了,你就是二级厨师了
- android HDMI (一):HDMI基础篇
- \t\t把超星图书虚拟打印为PDF格式,实现永久阅读
- Doris数据仓库总结