LeetCode #347. Top K Frequent Elements
2016-05-02 15:38
447 查看
题目要求:
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].
即求出线最频繁的前K个数。要求时间复杂度不大于O(nlogn).明显就是先hash存起来,然后排序,拿到前k个值即可。写的不是很好,如果有更好的算法实现请接评论
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].
即求出线最频繁的前K个数。要求时间复杂度不大于O(nlogn).明显就是先hash存起来,然后排序,拿到前k个值即可。写的不是很好,如果有更好的算法实现请接评论
public List<Integer> topKFrequent(int[] nums, int k) { ArrayList<Integer> kFrequent = new ArrayList<Integer>(); HashMap<Integer, Integer> cacheMap = new HashMap<Integer, Integer>(); for (int i : nums) { if (!cacheMap.containsKey(i)) { cacheMap.put(i, 1); continue; } int count = cacheMap.get(i) + 1; cacheMap.put(i, count); } ArrayList<Map.Entry<Integer,Integer>> list = new ArrayList<Map.Entry<Integer, Integer>>(cacheMap.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 o2.getValue() - o1.getValue(); } }); int count = 0; while (count++ < k) kFrequent.add(list.get(count).getKey()); return kFrequent; }
相关文章推荐
- 最简单的UIScrollView 下拉刷新思路
- Invoke-WebRequest Invoke-RestMethod 乱码研究
- top-k-frequent-elements
- UITableView基本使用(二)
- MataLab-GUI编程初探
- UIKit Dynamics动力系统入门
- codeforces 667C C. Reberland Linguistics(dp)
- UVa 1594 Ducci Sequence
- leetcode-62. Unique Paths
- POJ 1141 Brackets Sequence 括号匹配 区间DP
- java concurrent 之 SynchronousQueue
- [费用流 线段树] BZOJ 3267 KC采花 && 3272 Zgg吃东西 && 3638 Cf172 k-Maximum Subsequence Sum
- POJ3080 Blue Jeans
- Android群英传笔记——第十二章:Android5.X 新特性详解,Material Design UI的新体验
- C# Queue源码剖析
- Leetcode #347. Top K Frequent Elements 前K高频数 解题报告
- 使用Retrofit时出现 java.lang.IllegalArgumentException: URL query string "t={type}&p={page}&size={count}" must not have replace block. For dynamic query parameters use @Query.异常原因
- CodeForces 666A Reberland Linguistics(DP)
- CodeForces 666A Reberland Linguistics(DP)
- HNOI2016 序列(sequence)<莫队>