【较难】算法nodeJs:明明的随机数

114 阅读1分钟

对于明明生成的 n 个 1 到 500 之间的随机整数,你需要帮助他完成以下任务:
∙删去重复的数字,即相同的数字只保留一个,把其余相同的数去掉;
∙然后再把这些数从小到大排序,按照排好的顺序输出。
你只需要输出最终的排序结果。

输入描述:

第一行输入一个整数 n (1≦n≦1000),代表明明生成的数字个数。
此后 n 行,第 i 行输入一个整数 ai (1≦ai≦500),代表明明生成的随机整数。

输出描述:

输出若干行,每行输出一个整数,代表输入数据排序后的结果。第一行输出最小的数字。

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

void (async function () {
    // Write your code here
    let arr = [];
    while ((line = await readline())) {
        arr.push(parseInt(line));
    }
    arr.shift()
    const res = [...new Set(arr)].sort((a, b) => a - b);

    for (let i = 0; i < res.length; i++) {
        console.log(res[i]);
    }
})();

shift()  方法从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度。

const array1 = [1, 2, 3];

const firstElement = array1.shift();  //这里特别要注意返回的是数组第一个元素

console.log(array1);
// Expected output: Array [2, 3]

console.log(firstElement);
// Expected output: 1