最小的K个数
题目描述
输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。
题目解析
此题相对而言比较简单,要求最小的K个数,先将数组进行排序,然后取出K个数就可以了。
代码解析
public static ArrayList<Integer> GetLeastNumbers_Solution(int [] input, int k) {
//创建一个arraylist数组
ArrayList<Integer> al = new ArrayList<Integer>();
//若要输出的长度大于数组的长度,返回空
if (k > input.length) {
return al;
}
//将数组采用冒泡排序
for (int i = 0; i < k; i++) {
for (int j = 0; j < input.length - i - 1; j++) {
if (input[j] < input[j + 1]) {
int temp = input[j];
input[j] = input[j + 1];
input[j + 1] = temp;
}
}
//将数据添加到ArrayList数组中
al.add(input[input.length - i - 1]);
}
return al;
}