题目描述
链接:https://www.nowcoder.com/questionTerminal/cc727473d1e248ccb674eb31bd8683dc?toCommentId=6394318
来源:牛客网
找出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
思路
排序,找到k值 ,打印
注意打印格式!!
代码
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
List<Integer> list = new ArrayList<Integer>();
while(scanner.hasNextInt()) {
String str = scanner.nextLine();
String[] string = str.split(" ");
for (int i = 0; i < string.length; i++) {
int tmp = Integer.parseInt(string[i]);
list.add(tmp);
}
int ans = list.remove(list.size()-1);
list.sort(Integer::compareTo);
for (int i = 0; i < ans ; i++) {
System.out.print(list.get(i));
if(i < ans-1) {
System.out.print(" ");
}
}
}
}
}