package com.daily.daily20210125;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.PriorityQueue;
/**
* @Project: dailyCode
* @Site: http://www.zhao1iang.club/
* @Copyright: ©CodeLamp
* @Author: zhaoliang
* @Create: 2021-01-25 16:42
* @Desc: 最小的K个数
**/
public class GetLeastNumbers_Solution {
public ArrayList<Integer> getLeastK(int[] input,int k){
int len = input.length;
if(k > len){
return new ArrayList<>();
}
int target = len -k;
ArrayList<Integer> res = new ArrayList<>();
PriorityQueue<Integer> queue = new PriorityQueue<>((o1, o2) -> o2 - o1);
for (int i = 0; i <len ; i++) {
queue.add(input[i]);
if (queue.size() >k)
queue.poll();
}
while (!queue.isEmpty()){
res.add(queue.poll());
}
return res;
}
}
日常刷题-最小的K个数
最新推荐文章于 2024-09-27 00:45:01 发布