最小的k个数——O(nlogn)解法

来源:互联网 发布:淘宝收费推广工具 编辑:程序博客网 时间:2024/06/06 11:44
import java.util.ArrayList;import java.util.PriorityQueue;import java.util.Queue;public class Solution {    public ArrayList<Integer> GetLeastNumbers_Solution(int [] input, int k) {        if(k > input.length) return new ArrayList<>();        Queue<Integer> queue = new PriorityQueue<Integer>();        for(int i = 0; i < input.length; ++i) {            queue.offer(input[i]);        }        ArrayList<Integer> arrayList = new                ArrayList<>();        for(int i = 0; i < k && i < input.length; ++i) {            Integer x = queue.remove();            arrayList.add(x);        }        return arrayList;    }}