【leetcode】Top K Frequent Elements
来源:互联网 发布:淘宝校园专享价 编辑:程序博客网 时间:2024/06/11 02:30
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.
利用桶排序,分三步解决,时间代价O(n):
- 统计每个数的出现频率,存在unordered_map中
- 定义一个vector<vector<int>>容器,将每个频率对应的数存在vector中
- 倒序遍历容器,依次将k个数存入结果容器中
class Solution {public: vector<int> topKFrequent(vector<int>& nums, int k) { unordered_map<int, int> dict; vector<int> result; for (auto n : nums) ++dict[n]; vector< vector<int> > freq(nums.size() + 1); for (auto p : dict) freq[p.second].push_back(p.first); for (int i = freq.size() - 1; i >= 0 && result.size() < k; --i) { for (auto n : freq[i]) { result.push_back(n); if (result.size() == k) break; } } return result; }};
0 0
- 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
- 【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
- 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
- Leetcode Top K Frequent Elements
- [leetcode]Top K Frequent Elements
- LeetCode: Top K Frequent Elements
- Java初学习 - 枚举类型,整型,字符串之间转换
- tomcat启动(设置catalina_home和不设置的区别)
- CRT链接ubuntu报错The remote system refused the connection
- Maven学习:eclipse安装配置Maven
- 动态规划1007
- 【leetcode】Top K Frequent Elements
- C/C++struct与C++struct/class关键字详解
- 【安卓】Theme.AppCompat中的Button上的字母默认全部大写的问题
- 移动端数据库新王者:realm
- 现代,当代,现当代,近代,近现代分别指中国哪个时期?
- 安卓java定时器
- 网站开发中Microsoft.Security.Application的使用
- javascript性能优化-repaint和reflow
- Android自带硬解码解码类型说明MediaCodec使用必看