题目链接:https://www.nowcoder.com/practice/6a296eb82cf844ca8539b57c23e6e9bf?tpId=13&&tqId=11182&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking

  思路一:直接使用 Arrays.sort() 对给出的数组进行一个排序,然后取出前 k 个即可。

import java.util.*;

public class Solution {
    public ArrayList<Integer> GetLeastNumbers_Solution(int [] input, int k) {
        ArrayList<Integer> list = new ArrayList<>();
        if(k > input.length) return list;
        Arrays.sort(input);
        for(int i = 0; i < k; ++ i) {
            list.add(input[i]);
        }
        return list;
    }
}

  思路二:手写快排( -ing)
  思路三:手写堆排序( -ing)