题解 | #输入n个整数,输出其中最小的k个#
输入n个整数,输出其中最小的k个
https://www.nowcoder.com/practice/69ef2267aafd4d52b250a272fd27052c
先试用优先对列对数组进行排序,然后在输出前k个数:
import java.util.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNextInt()) { // 注意 while 处理多个 case
int n = in.nextInt();
int k = in.nextInt();
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = in.nextInt();
}
PriorityQueue<Integer> q = new PriorityQueue<>();
for (int i = 0; i < n; i++) {
q.add(arr[i]);
}
for (int i = 0; i < k; i++) {
System.out.print(q.remove() + " ");
}
}
}
}

查看16道真题和解析