当前位置:网站首页>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;
}
}
边栏推荐
猜你喜欢
先睹为快!界面控件DevExpress WPF这些功能即将发布
面试必问的HashCode技术内幕
DC-DC选型及电路设计
面试官:可以谈谈乐观锁和悲观锁吗
“如何写好一篇学术论文?”这大概是最详实的一则攻略了!
redis学习四redis消息订阅、pipeline、事务、modules、布隆过滤器、缓存LRU
跨境电商看不到另一面:商家刷单、平台封号、黑灰产牟利
2.5 - 死锁
20 Lectures on Disassembly of Multi-merchant Mall System Functions-Platform Distribution Overview
【服务器数据恢复】Raid阵列更换故障硬盘后数据同步失败的数据恢复案例
随机推荐
想要白嫖正则是吧?这一次给你个够!
轻松入门自然语言处理系列 专题8 源码解读──基于HMM的结巴分词
WWW'22 推荐系统论文之多任务与对比学习篇
(LinkedList与链表) 和 (ArrayList与顺序表)的区别
系统存储的基本管理--挂载,分区,用户配额
Qt | 关于样式表的使用 QStyleSheet
JZ4 二维数组中的查找
剑指Offer 49.丑数 动态规划
类的比较大小(Comparable -> compareTo(类自己实现接口),Comparator -> compare(新建一个类作为比较器))
MySQL-4-常规概念
uWSGI看这几篇就够了
tiup mirror sign
一文搞懂│php 中的 DI 依赖注入
看我如何用多线程,帮助运营小姐姐解决数据校对系统变慢!
tiup mirror modify
矢量图的作用与工具
【[USACO06NOV]Corn Fields G】【状压DP】
Basic management of mysql database in Linux system
Idea中运行sparkSQL
uniapp 小程序 动态style class