牛客刷题记录
最小k个数
题目:给定一个数组,找出其中最小的K个数。例如数组元素是4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。如果K>数组的长度,那么返回一个空的数组
题解
import java.util.*;
public class Solution {
public ArrayList<Integer> GetLeastNumbers_Solution(int [] input, int k) {
//由于题目返回值类型为ArrayList 所以定义一个list集合
ArrayList<Integer> arrlist=new ArrayList<Integer>();
//由题目要求可知,k大于数组长度或者为0返回空数组所以进行判断
if(k>input.length||k==0){
return arrlist;
}else{
//sort()为Arrays的一个方法,可以直接将数组进行从小到大的排序
Arrays.sort(input);
//排序完成后取出前k为
for(int i=0;i<k;i++){
//将取出的值放入list集合当中
arrlist.add(input[i]);
}
return arrlist;
}
}
}
关于sort()方法
Arrays中带的排序方法