设计一个算法,找出数组中最小的k个数。以任意顺序返回这k个数均可。
示例:
输入: arr = [1,3,5,7,2,4,6,8], k = 4
输出: [1,2,3,4]
【(最小K个数)设计一个算法,找出数组中最小的k个数。以任意顺序返回这k个数均可。】提示:
0 <= len(arr) <= 100000
0 <= k <= min(100000, len(arr))
class Solution {
public int[] smallestK(int[] arr, int k) {
//如果arr数组为空或者K<=0,则返回[]
if(arr==null||k<=0){
return new int[0];
}PriorityQueue p=new PriorityQueue<>(arr.length);
//1.将arr中的数据放到优先级队列中
for(int i=0;
i
推荐阅读
- Java|Java基础——数组
- 人工智能|干货!人体姿态估计与运动预测
- java简介|Java是什么(Java能用来干什么?)
- Java|规范的打印日志
- Linux|109 个实用 shell 脚本
- 程序员|【高级Java架构师系统学习】毕业一年萌新的Java大厂面经,最新整理
- Spring注解驱动第十讲--@Autowired使用
- SqlServer|sql server的UPDLOCK、HOLDLOCK试验
- jvm|【JVM】JVM08(java内存模型解析[JMM])
- 技术|为参加2021年蓝桥杯Java软件开发大学B组细心整理常见基础知识、搜索和常用算法解析例题(持续更新...)