LeetCode347. Top K Frequent Elements
2016-06-30 15:18
381 查看
先利用map统计各数的个数,再用vector存储统计结果,自定义vector排序
class Solution {
public:
vector<int> topKFrequent(vector<int>& nums, int k) {
vector<int> m;
if(k>=nums.size()) return nums;
map<int,int> cnt;
for(vector<int>::iterator it=nums.begin();it!=nums.end();it++){
cnt[*it]++;
}
vector<pair<int,int> > rs;
for(map<int,int>::iterator it=cnt.begin();it!=cnt.end();it++){
rs.push_back(*it);
}
sort(rs.begin(),rs.end(),[&](pair<int,int> a,pair<int,int> b){return a.second > b.second;});
int i=0;
for(vector<pair<int,int> >::iterator it=rs.begin();it!=rs.end(),i!=k;++it,++i){
m.push_back(it->first);
}
return m;
}
};
class Solution {
public:
vector<int> topKFrequent(vector<int>& nums, int k) {
vector<int> m;
if(k>=nums.size()) return nums;
map<int,int> cnt;
for(vector<int>::iterator it=nums.begin();it!=nums.end();it++){
cnt[*it]++;
}
vector<pair<int,int> > rs;
for(map<int,int>::iterator it=cnt.begin();it!=cnt.end();it++){
rs.push_back(*it);
}
sort(rs.begin(),rs.end(),[&](pair<int,int> a,pair<int,int> b){return a.second > b.second;});
int i=0;
for(vector<pair<int,int> >::iterator it=rs.begin();it!=rs.end(),i!=k;++it,++i){
m.push_back(it->first);
}
return m;
}
};
相关文章推荐
- Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled
- 93.AFNetworking manager.requestSerializer.timeoutInterval无效问题 超时无效问题
- UGUI 之 制作敌人不在摄像机视口的UI方向提示(或检测物体在不在摄像机渲染范围内)(四)
- UGUI 之 制作角色受伤屏幕变红的动画提示(三)
- UGUI 之 Canvas布局层级关系(一)
- [界面开发新秀]免费的AYUI,开发360领航版系列教程[2/40]
- pip安装pyquery报错
- 关于stm32报错Library reports error: __use_no_semihosting was requested
- project 2013 安装程序找不到office.zh-cn\officeMUI.xml
- iOS 查看UI控件层次结构的方法
- 阿里Druid连接池配置使用
- 【腾讯TMQ】解放程序猿(媛)的双手—iOS UI自动化测试
- GL.IssuePluginEvent 发布插件事件
- 在有Textfield的页面,键盘弹出效果
- UITabBarController作为根视图控制器的时候出现的问题,popToRootViewController的时候出现两个TabBar
- MySQL慢查询可视化(1):pt-query-digest + Anemometer
- BZOJ2632: [neerc2011]Gcd guessing game
- 修复 Plugin execution not covered by lifecycle configuration: org.codehaus.mojo:build-helper-maven-plugin:1.8:add-source (execution: add-source, phase: generate-sources)
- 并发队列ConcurrentLinkedQueue和阻塞队列LinkedBlockingQueue用法
- MiniUI - 专业WebUI控件库