算法思路
本题要求我们处理一组数字,去除其中的重复项,然后将剩下的数字从小到大排序。为了解决这个问题,我们可以使用 JavaScript 的内置数据结构和方法来简化过程。
思路概述:
- 去重:我们可以使用 JavaScript 的
Set
对象来去除重复元素,因为Set
是一种集合类型,自动去除重复项。 - 排序:去重后的数字可以通过
Array.prototype.sort()
方法进行排序。为了确保按从小到大的顺序排序,使用默认的数字排序方法,或者通过自定义比较函数来处理数字。 - 输出:最后,我们需要将处理后的数字输出,每个数字一行。
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();
}();