[Leetcode] #347 Top K Frequent Elements
2017-04-29 20:50
507 查看
Discription:
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].
Note:
You may assume k is always valid, 1 ≤ k ≤ number of unique elements.
Your algorithm's time complexity must be better than O(n log n), where n is the array's size.
Solution:
//复杂度 O(n*log(n-k) #include <queue> //priority_queue在这个库里 vector<int> topKFrequent(vector<int>& nums, int k) { unordered_map<int, int> map; for (int num : nums){ map[num]++; } vector<int> res; priority_queue<pair<int, int>> pq; for (auto it:map){ pq.push(make_pair(it.second, it.first)); if (pq.size() > map.size() - k){ //取出频次高的k个数,剩下的数放在堆里 res.push_back(pq.top().second); pq.pop(); } } return res; }
GitHub-Leetcode:https://github.com/wenwu313/LeetCode
相关文章推荐
- LeetCode 347 Top K Frequent Elements
- leetcode 347[medium]--Top K Frequent Elements
- leetcode347:Top K Frequent Elements(medium)
- leetcode-347-Top K Frequent Elements
- leetcode347 Top K Frequent Elements java
- LeetCode[347] Top K Frequent Elements
- [leetcode-347]Top K Frequent Elements(java)
- Leetcode_347_Top K Frequent Elements
- leetcode_347 Top K Frequent Elements
- leetcode_c++:哈希:Top K Frequent Elements(347)
- Java [Leetcode 347]Top K Frequent Elements
- leetcode 347 Top K Frequent Elements C++
- 频数相关的leetcode:451 Sort Characters By Frequency& 347 Top K Frequent Elements
- LeetCode 347 Top K Frequent Elements (HashMap && TreeMap 或 PriorityQueue 推荐)
- leetcode——347——Top K Frequent Elements
- LeetCode : Top K Frequent Elements
- LeetCode:Top K Frequent Elements
- LeetCode|Top K Frequent Elements
- leetCode_Top K Frequent Elements
- LeetCode: Top K Frequent Elements