Map的按value值排序
来源:互联网 发布:mkv格式播放器 mac 编辑:程序博客网 时间:2024/06/07 12:46
Map自带按Key值排序的属性,但很多种情况下我们需要对Map容器进行按Vaule值排序,由于Map没有提供相应的API,我们只有自力更生了。可以利用Pair和自定义排序函数实现,比如我们拿LeetCode上的347题为例,统计一组数中出现次数最多的K个数,代码如下:
//自定义的pair比较函数,此函数需要定义成全局函数,设计成按second值排序bool cmp(pair<int,int> a,pair<int,int> b){ return a.second>b.second;}class Solution {public: vector<int> topKFrequent(vector<int>& nums, int k) { int len=nums.size(); unordered_map<int,int> dict; vector<pair<int,int>> temp; vector<int> res; //首先利用map统计各个数出现的次数,然后放进vector中,进行按照pair的second值的排序 for(int i=0;i<len;i++){ dict[nums[i]]++; } for(auto lt=dict.begin();lt!=dict.end();lt++){ temp.push_back(*lt); } sort(temp.begin(),temp.end(),cmp); for(int i=0;i<k;i++) res.push_back(temp[i].first); return res; }};
0 0
- Map的按value值排序
- map的value值排序
- Map排序---按value值排序
- Map按value排序
- Map按value排序
- map按value排序
- map 按value排序
- map按value排序
- map 按value 排序
- 将Map的内容按value排序
- map按value排序的问题
- C++按map的value进行排序
- 涉及到的map按value排序问题
- C++按map的value进行排序
- 使用map的value值排序
- 对map的value值排序
- 根据Map的value值进行排序
- Map中按value值排序
- 深入理解Java的接口和抽象类
- iOS @synchronized 详解
- VC++2008 如何使用Windows Media Player控件
- jsp中转发和重定向的区别
- 对于二分法,每次的if判断
- Map的按value值排序
- Binder学习笔记(四)—— ServiceManager如何响应checkService请求
- 笔试题56. LeetCode OJ (43)
- Eclipse maven构建项目
- 有趣的Html
- mysql分区表的维护
- Apache ActiveMQ启动DEMO错误
- Binder学习笔记(五)—— Parcel是怎么打包的?
- Android 添加背景音乐代码实现,以及创建音频文件夹