LeetCode:Top K Frequent Elements
来源:互联网 发布:linux svn数据迁移 编辑:程序博客网 时间:2024/06/10 17:58
Top K Frequent Elements
Total Accepted: 5045 Total Submissions: 11511 Difficulty: Medium
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.
Subscribe to see which companies asked this question
Hide Similar Problems
思路:桶排序
有6个数:1 1 1 2 2 3
key:0 1 2 3 4 5 6
val:0 3 2 1 0 0 0
其中:val代表key出现的频数。
根据频数大小:
key:1 2 3
val:3 2 1
其中key代表频数,val代表频数对应的数
java code:
public class Solution { public List<Integer> topKFrequent(int[] nums, int k) { Map<Integer,Integer> map = new HashMap<Integer,Integer>(); int len = nums.length; List<Integer>[] bucket = new List[len+1]; for(int num:nums) { map.put(num, map.getOrDefault(num, 0)+1); } for(int key:map.keySet()) { int value = map.get(key); if(null == bucket[value]) bucket[value] = new ArrayList<Integer>(); bucket[value].add(key); } List<Integer> res = new ArrayList<Integer>(); for(int i=bucket.length-1;i>=0 && res.size()<k;i--) { if(bucket[i] != null) { res.addAll(bucket[i]); } } return res; } }
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
- 动态规划——连续子序列最大和
- BZOJ 4517: [Sdoi2016]排列计数
- 搭建前端私有npm杂记
- 超链接
- java.lang.NoClassDefFoundError: javax/servlet/ServletContainerInitializer Jboss
- LeetCode:Top K Frequent Elements
- 使用正则表达式处理html标签方案分享
- 最长公共子序列问题
- ubuntu下安装shadowsocks
- Android——View的事件分发机制(学习Android开发艺术探索)
- Leetcode 23. Merge k Sorted Lists
- 如何做到像使用 LaTeX 那样优雅地使用 Word?
- 支付宝开发接口 Multiple dex files define Lcom/ta/utdid2/device/UTDevice
- c3p0重连机制