nowcoder
HJ58 输入n个整数,输出其中最小的k个

问题描述

牛客网 HJ58 输入n个整数,输出其中最小的k个 (opens in a new tab),难度中等

描述

输入n个整数,找出其中最小的k个整数并按升序输出

本题有多组输入样例

数据范围:1n10001 \leq n \leq 1000,输入的整数满足1val100001 \leq val \leq 10000

输入描述

第一行输入两个整数n和k

第二行输入一个整数数组

输出描述

从小到大输出最小的k个整数,用空格分开。

示例 1

输入:5 2
	 1 3 5 7 2
输出:1 2

题解

Main.java
import java.util.PriorityQueue;
import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int num = scanner.nextInt();
        PriorityQueue<Integer> pq = new PriorityQueue<>();
        for (int i = 0; i < n; i++) {
            pq.add(scanner.nextInt());
        }
        for (int i = 0; i < num; i++) {
            System.out.print(pq.poll());
            if (i != num - 1) {
                System.out.print(" ");
            }
        }
        scanner.close();
    }
}