题目描述:给你一个数组,找元素的值的和为最小的k个元素。
思路:最简单的就是先对数组排序,然后直接前k位数就是要的结果。还可以用堆来做。
java程序:
import java.util.Arrays;
import java.util.ArrayList;
public class Solution {
public ArrayList<Integer> GetLeastNumbers_Solution(int [] input, int k) {
//方法一,很简单,但复杂度较高
ArrayList<Integer> res = new ArrayList<Integer>();
if(k>input.length)
return res;
Arrays.sort(input);
for(int i =0;i<k;i++)
res.add(input[i]);
return res;
}
}