题目描述
链接: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
(" ");
}
}
}
}
}