最小的K个数
给定一个数组,找出其中最小的K个数。例如数组元素是4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。如果K>数组的长度,那么返回一个空的数组
简单思路
先排序、再取最小的k个数
public ArrayList<Integer> GetLeastNumbers_Solution(int [] input, int k) {
ArrayList<Integer> list = new ArrayList<Integer>();
int len = input.length;
if(k>len) return list;
int min;
for(int i=0;i<len;i++){
min = i;
for(int j = i+1;j<len;j++){
if(input[j]<input[min]){
min = j;
}
}
if(input[min]!=input[i]){
int temp = input[min];
input[min] = input[i];
input[i] = temp;
}
}
for(int i=0;i<k;i++){
list.add(input[i]);
}
return list;
}