package arraydeal;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
/**
* 给定一个数组,找出其中最小的K个数。
* 例如数组元素是4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。
* 如果K>数组的长度,那么返回一个空的数组
* **/
public class Solution20210316 {
public ArrayList<Integer> GetLeastNumbers_Solution(int [] input, int k) {
ArrayList<Integer> inputSub = new ArrayList<Integer>();
for(int i = 0;k <=input.length && i< input.length;i++){
for(int j=0; j<k;j++){
if(input[j] >= input[i]){
int m = input[j];
input[j] = input[i];
input[i] = m;
}
if(inputSub.size()-1 >= j){
inputSub.set(j,input[j]);
}else{
inputSub.add(input[j]);
}
}
}
return inputSub;
}
}
[刷题]最小的K个数
最新推荐文章于 2024-11-21 14:18:45 发布
1892

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



