Leetcode 347. Top K Frequent Elements
来源:互联网 发布:linux c语言usleep 编辑:程序博客网 时间:2024/05/16 04:42
347. Top K Frequent Elements
Total Accepted: 33314 Total Submissions: 74992 Difficulty: MediumGiven 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.
Hide Similar Problems
思路:
先存入hashmap,去重(计数)。
然后需要以value排序,并且有相应的key-value对应关系。这里博主自己新建了一个class。用maxheap保证顺序,取出这个class的object然后输出key即可。
public class Solution { // 40ms public List<Integer> topKFrequent(int[] nums, int k) { Map<Integer, Integer> map = new HashMap<Integer, Integer>(); List<Integer> res = new ArrayList<Integer>(); PriorityQueue<myPair> pq = new PriorityQueue<myPair>(new Comparator<myPair>(){ public int compare(myPair i1, myPair i2){ // Integer not int return i2.value - i1.value; } }); for(int n : nums){ if(!map.containsKey(n)){ map.put(n, 1); }else{ map.put(n, map.get(n)+1); } } for(int n:nums){ if(!map.containsKey(n)) continue; pq.offer(new myPair(n, map.get(n))); map.remove(n); } for(int i=k; i>0; i--){ res.add(pq.poll().key); } return res; } class myPair{ int key; int value; public myPair(int k, int v){ this.key = k; this.value = v; } }}
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
- 内部类问题
- c++实验6-数组合并
- 一些总结(1)
- UILabel 图文混排的简单实现
- 线程
- Leetcode 347. Top K Frequent Elements
- GoAhead2.5源代码分析之3-用户管理实例(umui.c)
- Mac使用docker及docker-machine命令
- JSON 解析
- Centos修改网卡配置
- R语言数据结构
- webdriver获取input元素值的几种方法
- 使用 javacomm20-win32.zip串口包eclispe配置注意点
- 将一个链表翻转