题目描述
找出n个数里最小的k个
输入描述:
每个测试输入包含空格分割的n+1个整数,最后一个整数为k值,n
不超过100。
输出描述:
输出n个整数里最小的k个数。升序输出
示例1
输入
3 9 6 8 -10 7 -11 19 30 12 23 5
输出
-11 -10 3 6 7
解析:直接上代码了
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static String getMin(int [] arr,int k){
String result="";
Arrays.sort(arr);
if(arr.length<=k){
for(int i:arr){
result+=i+" ";
}
}else {
for(int i=0;i<k;i++){
result+=arr[i]+" ";
}
}
return result.trim();
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNextLine()){
String s=scanner.nextLine();
String [] str=s.split(" ");
int [] arr= new int[str.length-1];//最后那个数不加参与排序的
for(int i=0;i<str.length-1;i++){
arr[i]=Integer.parseInt(str[i]);
}
System.out.println(getMin(arr,Integer.parseInt(str[str.length-1])));
}
}
}