用hash表记录每个字符的个数,开始我是新建了一个vector<pair<int,char>>然后依据个数排序。

后来发现可以直接对string排序。

其中运用了lambda表达式,利用引用捕获得到count。

class Solution {
public:string frequencySort(string s) {vector<int> count(256);for (char ch:s) ++count[ch];sort(s.begin(),s.end(),[&](char a, char b){return count[a]>count[b] || (count[a]==count[b] && a<b);});return s;}
};

关于Lambda,详见:

http://en.cppreference.com/w/cpp/language/lambda

https://www.cnblogs.com/DswCnblog/p/5629165.html

转载于:https://www.cnblogs.com/hankunyan/p/9129304.html

LeetCode 451. Sort Characters By Frequency相关推荐

  1. leetcode: 451. Sort Characters By Frequency

    451. Sort Characters By Frequency Given a string, sort it in decreasing order based on the frequency ...

  2. 451 Sort Characters By Frequency

    451. Sort Characters By Frequency 先统计次数,再按次数构造新的string.思路没什么难,写起来还有点麻烦.用了priorityqueue.. class Wrapp ...

  3. 堆排序——LeetCode451. Sort Characters By Frequency

    堆排序--LeetCode451. Sort Characters By Frequency 题目 Given a string, sort it in decreasing order based ...

  4. LeetCode 451. 根据字符出现频率排序(Sort Characters By Frequency)

    题目描述: 给定一个字符串,请将字符串里的字符按照出现的频率降序排列. 示例 1: 输入: "tree"输出: "eert"解释: 'e'出现两次,'r'和't ...

  5. LeetCode Sort Characters By Frequency

    题意:给出一个字符串s,按字符出现频率排序 代码如下: class Solution(object):def frequencySort(self, s):""":typ ...

  6. LeetCode 148. Sort List--面试算法题--C++,Python解法

    LeetCode 148. Sort List–面试算法题–C++,Python解法 LeetCode题解专栏:LeetCode题解 LeetCode 所有题目总结:LeetCode 所有题目总结 大 ...

  7. LeetCode 75. Sort Colors (python一次遍历,模拟三路快排)

    LeetCode 75. Sort Colors (python一次遍历,模拟三路快排) 题目分析: 本题需要实现数字只包含0,1,2的排序,并且要求一次遍历. 由于只用把数字隔离开,很容易想到快排的 ...

  8. 【排序】LeetCode 75. Sort Colors

    LeetCode 75. Sort Colors Solution1: 参考自:<leetcode-cpp 答案> 由于0,1,2非常紧凑,首先想到计数排序(counting sort), ...

  9. 【归并排序+递归】LeetCode 148. Sort List

    LeetCode 148. Sort List Solution1:我的答案 很多递归 /*** Definition for singly-linked list.* struct ListNode ...

最新文章

  1. ggplot01:R语言坐标轴离散、连续与图例离散连续的区分
  2. python定义map数据_「每日一练」巧用Python处理列表中的数据
  3. Android TextView 高亮字体并添加点击事件
  4. yii2数组转为对象_好程序员Java学习路线分享java为什么不支持泛型数组
  5. c java 内部类_java程序中能否在内部类当中再定义一个内部类?
  6. 如何根据离散点自动绘制等值线(等高线)之 三角形法
  7. Java Web学习总结(26)——Servlet不同版本之间的区别
  8. 中科曙光服务器配置与虚拟系统安装等优化
  9. 集合和数组的区别_java集合最全说明
  10. 送你一份有态度的红包封面!
  11. opmanager邮件告警配置
  12. quartz2.2.3 spring整合遇到的错误,及quartz配置文件说明
  13. 基于 BK 树的中文拼写纠错候选召回
  14. Android整合网上资源以及个人对GreenDao数据库框架的理解与使用(android-studio开发)
  15. 用js实现加载本地图片并显示并将图片信息上传至服务端
  16. 3 个简单的技巧让你的 vue.js 代码更优雅!
  17. bearer token_bearer token到底是什么?
  18. 01-01-osg GL3 环境搭建
  19. 一年过去了,在中软国际怎么样
  20. hive乱码彻底解决方案全记录

热门文章

  1. 串结构练习——字符串匹配 解题报告
  2. php 的adodb分页类
  3. java科学计数字符串显示
  4. 设计模式--Builder
  5. java时间戳求时间差_时间戳换算后,截取时间相差8小时的问题
  6. 个人博客前端模板_博客设计——概述
  7. python中字典和集合的区别_Python中字典和集合学习小结
  8. python123程序设计题说句心里话_用c++写一个简单的计算器程序
  9. C# 不能从数据库更新实体
  10. 不讲CRUSH的Ceph教程是不完整的