【题目】输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。
方法三:使用堆排序。每次返回一个最小值。时间复杂度O(nlogk)
import java.util.*;
public class Solution {
//使用快排,当返回的中枢轴的值恰好为k时,左边的数均比第k个数值小(不一定是排序的),此时K左边的数即为所求、
public ArrayList<Integer> GetLeastNumbers_Solution(int [] input, int k) {
ArrayList<Integer> list = new ArrayList<Integer>();
if(input == null || k <= 0 || k > input.length ){
return list;