Leetcode 347. Top K Frequent Elements
来源:互联网 发布:mysql 解析json字符串 编辑:程序博客网 时间:2024/05/21 14:58
typedef pair<int, int> PAIR; class Solution {public: static int cmp(const PAIR &x, const PAIR &y) { return x.second > y.second; } vector<int> topKFrequent(vector<int>& nums, int k) { map<int,int> map_verb; vector<PAIR> pair_vec; vector<int> result; int nums_len = nums.size(); for(int i = 0; i < nums_len; i++) { if(map_verb.count(nums[i]) != 0) { map_verb[nums[i]]++; } else { map_verb[nums[i]] = 1; } } for (map<int, int>::iterator map_iter = map_verb.begin(); map_iter != map_verb.end(); ++map_iter) { pair_vec.push_back(make_pair(map_iter->first, map_iter->second)); } sort(pair_vec.begin(), pair_vec.end(), cmp); int result_num = 0; for (vector<PAIR>::iterator curr = pair_vec.begin(); curr != pair_vec.end(); ++curr) { result.push_back(curr->first); result_num++; if(result_num >= k) break; } return result; }};
更简单的方法就是:
class Solution {public: 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.begin(); it != map.end(); it++){ pq.push(make_pair(it->second, it->first)); if(pq.size() > (int)map.size() - k){ res.push_back(pq.top().second); pq.pop(); } } return res; }};
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
- Git忽略文件.gitignore的使用
- Java之lambda表达式
- 51nod-1277 字符串中的最大值(KMP)
- Leetcode 442. Find All Duplicates in an Array
- linux gcc编译常用命令之gun工具链的使用
- Leetcode 347. Top K Frequent Elements
- C++多态深度剖析
- ERROR [net.sf.ehcache.Cache] - Unable to set localhost
- 正则中需要转义的特殊字符小结
- mac初次使用php环境简单搭建
- Leetcode 264. Ugly Number II
- 在Windows下如何安装Python的lxml模块
- Android5.0以上版本ActiveAndroid报ClassNotFoundException错误
- jQuery 中的 DOM 操作-查找节点