当前位置:网站首页>JZ40 最小的K个数
JZ40 最小的K个数
2022-08-02 15:35:00 【syc596】
JZ40 最小的K个数
最小的K个数_牛客题霸_牛客网 (nowcoder.com)
NC119 最小的K个数
最小的K个数_牛客题霸_牛客网 (nowcoder.com)
// //Arrays.sort
// import java.util.*;
// public class Solution {
// public ArrayList<Integer> GetLeastNumbers_Solution(int [] array, int k) {
// ArrayList<Integer> ret=new ArrayList<>();
// if(array==null||array.length==0||k==0||k>array.length){
// return ret;
// }
// Arrays.sort(array);
// for(int i=0;i<k;i++){
// ret.add(array[i]);
// }
// return ret;
// }
// }
//堆-优先级队列-最小的k个数-建大堆
//PriorityQueue默认为小堆,建大堆需要调用Collections.reverseOrder()
import java.util.*;
public class Solution {
public ArrayList<Integer> GetLeastNumbers_Solution(int [] array, int k) {
ArrayList<Integer> ret=new ArrayList<>();
if(array==null||array.length==0||k==0||k>array.length){
return ret;
}
PriorityQueue<Integer> pq=new PriorityQueue<>(k,Collections.reverseOrder());
for(int i=0;i<k;i++){
pq.offer(array[i]);
}
for(int i=k;i<array.length;i++){
if(array[i]<pq.peek()){
pq.poll();
pq.offer(array[i]);
}
}
for(int i=0;i<k;i++){
ret.add(pq.poll());
}
return ret;
}
}
边栏推荐
猜你喜欢
禅道16.5升级17.3
Reed-Solomon Codes——RS纠错码
无线振弦采集仪远程修改参数方式
esp32之arduino配置下载提速
关于小程序TabBar跳转页面跟TabBar标签栏的icon不对应的分析(debug)
入门关于 switch case 的理解
UnicodeEncodeError: 'gbk' codec can't encode character '\u2022' in position 178: illegal multibyte s
Basic management of system storage -- mounts, partitions, user quotas
Linux系统中mysql数据库的基本管理
2.4 - 三态模型
随机推荐
助力疫情防控,30行代码就能搞定无服务器实时健康码识别!
Qt | 关于样式表的使用 QStyleSheet
VLAN实验
从幻核疑似裁撤看如何保证NFT的安全
“绿色低碳+数字孪生“双轮驱动,解码油气管道站升级难点
esp32之arduino配置下载提速
24、wpf之布局(二)
AI智能剪辑,仅需2秒一键提取精彩片段
DevOps开发工具对比
uWSGI看这几篇就够了
轻松入门自然语言处理系列 专题8 源码解读──基于HMM的结巴分词
【[USACO06NOV]Corn Fields G】【状压DP】
SIGIR'22 推荐系统论文之序列推荐(短文)篇
06-线程池(3大方法、7大参数,4种拒绝策略)
tiup mirror set
关于小程序TabBar跳转页面跟TabBar标签栏的icon不对应的分析(debug)
节省50%成本!京东云重磅发布新一代混合CDN产品
Idea中运行sparkSQL
怒写400篇AI文章!这群妹子卷疯了…
WWW'22 推荐系统论文之图神经网络篇