题目描述:给你一个数组,找元素的值的和为最小的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;
}
}
本文介绍了一种在数组中寻找和最小的k个元素的方法。提供了两种解决方案:一种是对整个数组进行排序,然后选取前k个元素;另一种是使用堆来优化查找过程。通过实例演示了如何使用Java实现这些算法。
335

被折叠的 条评论
为什么被折叠?



