LeetCode 347. Top K Frequent Elements
来源:互联网 发布:什么叫做淘宝过滤流量 编辑:程序博客网 时间:2024/06/02 12:53
Given a non-empty array of integers, return the k most frequent elements.
For example,
Given [1,1,1,2,2,3]
and k = 2, return [1,2]
.
hashmap + heap
#include <vector>#include <iostream>#include <queue>#include <unordered_map>using namespace std;// Using a hashmaptypedef pair<int, int> data;vector<int> topKFrequent(vector<int>& nums, int k) { vector<int> res; unordered_map<int, int> numToCount; for(int i = 0; i < nums.size(); ++i) { if(numToCount.find(nums[i]) == numToCount.end()) { numToCount.insert({nums[i], 1}); } else { ++numToCount[nums[i]]; } } priority_queue<data, vector<data>, greater<data> > minHeap; auto iter = numToCount.begin(); while(iter != numToCount.end()) { minHeap.push(make_pair(iter->second, iter->first)); if(minHeap.size() > k) {minHeap.pop();} iter++; } while(!minHeap.empty()) { res.push_back(minHeap.top().second); minHeap.pop(); } return res;}int main(void) { vector<int> nums{1, 1, 1, 2, 2, 3}; vector<int> res = topKFrequent(nums, 2); for(int i = 0; i < res.size(); ++i) cout << res[i] << endl;}
0 0
- LeetCode #347. Top K Frequent Elements
- [leetcode] 347. Top K Frequent Elements
- LeetCode 347. Top K Frequent Elements
- <LeetCode OJ> 347. Top K Frequent Elements
- LeetCode 347. Top K Frequent Elements
- Leetcode 347. Top K Frequent Elements
- LeetCode Everyday: 347. Top K Frequent Elements
- 【leetcode】347. Top K Frequent Elements
- leetcode 347.Top K Frequent Elements
- leetcode 347. Top K Frequent Elements
- leetcode 347. Top K Frequent Elements
- [leetcode]347. Top K Frequent Elements
- LeetCode-347.Top K Frequent Elements
- Leetcode 347.Top K Frequent Elements
- Leetcode 347. Top K Frequent Elements
- 【LeetCode】347. Top K Frequent Elements
- [leetcode] 347. Top K Frequent Elements
- leetcode-java-347. Top K Frequent Elements
- java日志设置及常用配置
- HDU 2046 骨牌铺方格(递推+打表)
- 一个程序猿的计划
- VS DevExtreme控件
- Eclipse连接SQL Server 2008与连接SQL Server 2000代码的不同及连接2008过程中遇到的问题
- LeetCode 347. Top K Frequent Elements
- MATLAB处理神经网络基础练习
- Linux基本命令练习(3)
- PHP学习笔记——二维数组的遍历
- 如何用15分钟开启高效的一天
- linux下so动态库一些不为人知的秘密(上)
- C++11 正则表达式——实例1
- 软件包管理及常用指令
- 删除字符串中重复字符