leetcode 347. Top K Frequent Elements 解题报告
来源:互联网 发布:知乎中国出口构成 编辑:程序博客网 时间:2024/05/18 20:34
题目链接
解题思路
- 使用Map将数字和对应的频率按照键值对存储起来
- 使用TreeMap和HashMap进行利用value值进行排序
- 按照题目要求输出前K大
使用的方法不够好。后面又使用了另外的方法另建一个对象存储数字和对应的频率,然后将此对象作为value存储在map和list中,对list进行排序。代码就不贴了。
解题代码
public class Solution { public List<Integer> topKFrequent(int[] nums, int k) { HashMap<Integer,Integer> map = new HashMap<Integer,Integer>(); ValueComparator bvc = new ValueComparator(map); TreeMap<Integer,Integer> tmap = new TreeMap<Integer,Integer>(bvc); List<Integer> list = new ArrayList<Integer>(); for(int i = 0;i<nums.length;i++){ if(map.containsKey(nums[i])){ map.replace(nums[i],map.get(nums[i])+1); }else{ map.put(nums[i],1); } } tmap.putAll(map); Set set = tmap.keySet(); Iterator it = set.iterator(); while(it.hasNext() && k-- >0){ list.add((Integer) it.next()); } return list; } class ValueComparator implements Comparator<Integer> { Map<Integer,Integer> base; public ValueComparator(Map<Integer,Integer> base) { this.base = base; } public int compare(Integer a, Integer b) { if(base.get(a)>=base.get(b)){ return -1; }else{ return 1; } } }}
0 0
- [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 前K高频数 解题报告
- Top K Frequent Elements解题报告
- LeetCode---Top K Frequent Elements解题分析
- 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
- 练习5-8 函数day_of_year和month_day中没有进行错误检查,请解决该问题
- [LeetCode]problem 3. Longest Substring Without Repeating Characters
- 中括号在正则表达式中的多义性
- Python学习零碎比较
- JavaScript检测之basevalidate.js
- leetcode 347. Top K Frequent Elements 解题报告
- UVa227 Puzzle
- 如何移植μC/GUI在OLED12864上显示
- java数据写入数据库错误
- 基于c#环境的单片机和PC串口通信
- Linux spi驱动 (一)
- digester使用
- Android Annotations 4.0.0 配置Rest API
- [58] Length of Last Word