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

LeetCode刷题---哈希表---451

根据字符出现频率排序

题目

给定一个字符串 s ,根据字符出现的 频率 对其进行 降序排序 。一个字符出现的 频率 是它出现在字符串中的次数。

返回 已排序的字符串 。如果有多个答案,返回其中任何一个。

示例 1:

输入: s = "tree"
输出: "eert"
解释: 'e'出现两次,'r'和't'都只出现一次。
因此'e'必须出现在'r'和't'之前。此外,"eetr"也是一个有效的答案。

示例 2:

输入: s = "cccaaa"
输出: "cccaaa"
解释: 'c'和'a'都出现三次。此外,"aaaccc"也是有效的答案。
注意"cacaca"是不正确的,因为相同的字母必须放在一起。

示例 3:

输入: s = "Aabb"
输出: "bbAa"
解释: 此外,"bbaA"也是一个有效的答案,但"Aabb"是不正确的。
注意'A'和'a'被认为是两种不同的字符。

提示:

  • 1 <= s.length <= 5 * 105
  • s 由大小写英文字母和数字组成

自己的思路和代码

思路:

        这个题和347一模一样,这里就不做过多赘述了。LeetCode刷题---哈希表---347-CSDN博客

代码:
class Solution {
public:
    string frequencySort(string s) {
        unordered_map<char, int> table;
        multimap<int, char> standard;
        string result = "";

        for(int i=0; i<s.size(); i++) {
            table[s[i]]++;
        }

        for(auto itr=table.begin(); itr!=table.end(); itr++) {
            standard.insert({itr->second, itr->first});
        }

        for(auto itr=standard.rbegin(); itr!=standard.rend(); itr++) {
            for(int i=0; i<itr->first; i++) {
                result += itr->second;
            }
        }
        return result;
    }
};

相关文章:

  • Kubernetes Pod健康检查全解析:从Liveness到滚动更新,掌握容器健康管理的核心技巧
  • DeepSeek是什么?两种模型的对比?
  • 系统设计之分布式
  • C++编程语言:抽象机制:模板和层级结构(Bjarne Stroustrup)
  • 宏块划分的原理
  • LeetCode1299
  • 自动创建spring boot应用(eclipse版本)
  • DeepSeek 入门指南
  • 【解决方法】vite-plugin-svg-icons使用中出现问题[vite] Cannot find package ‘fast-glob‘
  • 网络爬虫学习:借助DeepSeek完善爬虫软件,实现模拟鼠标右键点击,将链接另存为本地文件
  • BiRefNet C++ TensorRT (二分类图像分割)
  • MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 高级篇 part 1
  • [原创](Modern C++)现代C++的关键性概念: 妙用std::reference_wrapper, 让std::list容器具有随机访问功能.
  • Zookeeper(54)如何使用Zookeeper的命令行工具?
  • 寒假学习总结
  • 如何解决服务器端口被攻击:全面防护与快速响应
  • 侯捷 C++ 课程学习笔记:设计模式在面向对象开发中的应用
  • Soft Actor-Critic (SAC)算法
  • 嵌入式人工智能应用-第四章 逻辑回归 8
  • unity学习48:动态障碍物 Obstacle 对 NavMesh的影响
  • 泽连斯基表示将在土耳其“等候”普京
  • 汉斯·季默:不会指挥的声音工程师终成音乐“大神”
  • 巴西总统卢拉抵达北京
  • 碧桂园:砸锅卖铁保交房、持续推进保主体,尽快让公司恢复正常经营
  • 4月金融数据前瞻:受去年低基数因素影响,社融增量有望同比大幅多增
  • “降息潮”延续!存款利率全面迈向“1时代”