算法思路

本题要求我们处理一组数字,去除其中的重复项,然后将剩下的数字从小到大排序。为了解决这个问题,我们可以使用 JavaScript 的内置数据结构和方法来简化过程。

思路概述:

  1. 去重:我们可以使用 JavaScript 的 Set 对象来去除重复元素,因为 Set 是一种集合类型,自动去除重复项。
  2. 排序:去重后的数字可以通过 Array.prototype.sort() 方法进行排序。为了确保按从小到大的顺序排序,使用默认的数字排序方法,或者通过自定义比较函数来处理数字。
  3. 输出:最后,我们需要将处理后的数字输出,每个数字一行。

Code

const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;

async function solve() {
    // 读取随机整数的个数 N
    const n = parseInt(await readline());

    // 用 Set 来存储数字,去除重复的数字
    const uniqueNumbers = new Set();

    // 读取 N 个随机整数并加入到 Set 中
    for (let i = 0; i < n; i++) {
        const num = parseInt(await readline());
        uniqueNumbers.add(num);
    }

    // 将 Set 转换为数组并排序
    const sortedNumbers = Array.from(uniqueNumbers).sort((a, b) => a - b);

    // 输出排序后的结果
    sortedNumbers.forEach(num => {
        console.log(num);
    });
}

// 调用主函数
void async function () {
    await solve();
}();