import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param input int整型一维数组
     * @param k int整型
     * @return int整型ArrayList
     */
    public ArrayList<Integer> GetLeastNumbers_Solution (int[] input, int k) {
        ArrayList<Integer> aa=new ArrayList<>();
        if(input.length==0||k==0){
            return aa;
        }
        PriorityQueue<Integer> queue=new PriorityQueue<>((o1,o2)->(o2.compareTo(o1)));
 
        for(int i=0;i<k;i++){
            queue.offer(input[i]);
        }
        for(int j=k;j<input.length;j++){
            if(queue.peek()>input[j]){
                queue.poll();
                queue.offer(input[j]);
            }
        }
        for(int m=0;m<k;m++){
            aa.add(queue.poll());
        }
        return aa;
    }
}