[leetcode]347. Top K Frequent Elements
来源:互联网 发布:vb中chr是什么意思 编辑:程序博客网 时间:2024/05/18 07:38
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.
循规蹈矩的方法:
public class Solution { public List<Integer> topKFrequent(int[] nums, int k) { List<Integer> res = new ArrayList<Integer>(); Map<Integer,Integer> map = new HashMap<Integer,Integer>(); //generate map for(int i=0; i<nums.length; i++){ if(map.containsKey(nums[i])){ map.put(nums[i],map.get(nums[i])+1); } else{ map.put(nums[i],1); } } //sort by value List<Map.Entry<Integer, Integer>> list = new ArrayList<Map.Entry<Integer, Integer>>(map.entrySet()); Collections.sort(list, new Comparator<Map.Entry<Integer, Integer>>() { @Override public int compare(Map.Entry<Integer, Integer> o1, Map.Entry<Integer, Integer> o2) { //return o1.getValue().compareTo(o2.getValue()); return o2.getValue().compareTo(o1.getValue()); } }); //output the result for (int i=0; i<k; i++) { res.add(list.get(i).getKey()); } 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
- 第十一周项目1(3)
- 专为新手写的:关于IOS HTTP请求的问题和常报的几个错,AFNetworking版
- Android的资源自适应与国际化
- Rxjava——使用RxBus替换EventBus
- 剑指offer17--旋转的方式打印矩阵
- [leetcode]347. Top K Frequent Elements
- 【转】Unity协程(Coroutine)原理深入剖析
- 浅谈Java设计模式之代理模式
- Android Studio新建shape等xml文件
- android锁屏唤醒并解锁屏幕
- HDU 1046 遍历矩形上所有点最小路径
- 文本文件和二进制文件的区别
- d-堆
- Android Studio 简单设置