題目描述
輸入n個整數,找出其中最小的K個數。例如輸入4,5,1,6,2,7,3,8這8個數字,則最小的4個數字是1,2,3,4,。
第一種解法:
暴利破解,直接Arrays.sort(),java自帶的排列,是nlogn。
第二種解法:
求最大堆,最小堆的方法。優先權隊列,這裏後面會補上,快速刷題救過
補
第一種解法的解答:
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Arrays;
public class Solution {
public ArrayList<Integer> GetLeastNumbers_Solution(int [] input, int k) {
ArrayList<Integer> arrayList = new ArrayList<Integer>();
if(k >input.length)
return arrayList;
Arrays.sort(input);
for(int i=0;i<k;i++)
arrayList.add(input[i]);
return arrayList;
}
}