leetcode-java-347. Top K Frequent Elements
2016-06-26 20:52
375 查看
思路:
1.先通过map统计
2.对map的value排序
3.取出map中的前k个key
1.先通过map统计
2.对map的value排序
3.取出map中的前k个key
public class Solution { public List<Integer> topKFrequent(int[] nums, int k) { List<Integer> list = new ArrayList<Integer>(); Map<Integer,Integer> map = new HashMap<Integer,Integer>(); int len = nums.length, i = 0; for(;i < len;i++) { if(!map.containsKey(nums[i])) { map.put(nums[i],1); } else { int count = map.get(nums[i]); count++; map.put(nums[i],count); } } List<Map.Entry<Integer,Integer>> list1 = new ArrayList<Map.Entry<Integer,Integer>>(map.entrySet()); Collections.sort(list1,new Comparator<Map.Entry<Integer,Integer>>() { public int compare(Map.Entry<Integer,Integer> m1,Map.Entry<Integer,Integer> m2) { return (m2.getValue() - m1.getValue()); } }); for(i = 0;i < k;i++) { int num = list1.get(i).getKey(); list.add(num); } return list; } }
相关文章推荐
- UIBarButtonItem的3个属性和for做的九宫格
- Android中怎么使用Looper和Handler进行子线程数据操作和提交到UI线程
- java.lang.StringBuilder源码分析
- SCADA(Supervisory Control And Data Acquisition)系统, 数据采集与监视控制系统
- STL之priority_queue
- POJ3080 Blue Jeans
- [代码实例][gtk+]使用builder创建UI
- MarqueeView源码简单分析笔记
- 2016.06.26培训日记-如何用Android Studio设计UI
- 【SSH进阶】java.lang.IllegalArgumentException: id to load is required for loading
- UVa 1612 Guess (贪心+题意)
- UIView不重载init的问题
- 设置UISegmentControl的文字属性
- easyui datagrid列使用按钮
- 如何去除UITableView多余的空Cell
- IOS Dev Intro - Create UImage from Sample Buffer Data
- UISegmentController
- -[UITableView _configureCellForDisplay:forIndexPath:], /SourceCache/UIKit_Sim/UIKit-3318.16.14/UITab
- ${pageContext.request.contextPath}的作用
- 357. Count Numbers with Unique Digits