博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode 347 Top K Frequent Elements
阅读量:5164 次
发布时间:2019-06-13

本文共 1238 字,大约阅读时间需要 4 分钟。

方法1: 声明新的类 + hashmap + priority queue

 

1 class Solution { 2     public List
topKFrequent(int[] array, int k) { 3 Queue
queue = new PriorityQueue
(newComparator); 4 Map
map = new HashMap<>(); 5 for (int i = 0; i < array.length; i++) { 6 if (map.containsKey(array[i])) { 7 map.put(array[i], map.get(array[i]) + 1); 8 } else { 9 map.put(array[i], 1);10 }11 }12 for(int i : map.keySet()) {13 queue.offer(new Result(i, map.get(i)));14 }15 16 List
res = new ArrayList<>();17 for (int i = 0; i < k; i++) {18 res.add(queue.poll().val);19 }20 return res;21 }22 23 public Comparator
newComparator = new Comparator
() {24 public int compare(Result a, Result b) {25 if (a.freq == b.freq) {26 return 0;27 }28 //-1是倒向排序, 1是正向排序29 return a.freq > b.freq ? -1 : 1;30 } 31 };32 }33 34 class Result {35 int val, freq;36 public Result(int val, int freq) {37 this.val = val;38 this.freq = freq;39 }40 }

 

转载于:https://www.cnblogs.com/mayinmiao/p/8503703.html

你可能感兴趣的文章
UTC时间与北京时间
查看>>
php像新浪微博一样生成短域名
查看>>
变量基础
查看>>
C#类和成员定义
查看>>
max-length兼容ie
查看>>
Contest1900 - 2019年6月多校联训a层测试1
查看>>
ibatis缓存初探(1)
查看>>
day23-2 __call__、__str__和__del__
查看>>
java排序算法(一):概述
查看>>
【PHP】 hash加密
查看>>
构建基本脚本
查看>>
C++ 获取当前设备公网IP
查看>>
iOS9 UITableViewCell separatorInset设置为0分割线还是没有顶到头的问题
查看>>
2019 gplt团体程序设计天梯赛总结
查看>>
DevExpress gridview 代码添加按钮
查看>>
Idea其他设置
查看>>
搜索框demo
查看>>
Android中的消息机制:Handler消息传递机制
查看>>
Python使用struct处理二进制(转载)
查看>>
LaTeX 傻瓜式起步
查看>>