题解 | #明明的随机数#
明明的随机数
https://www.nowcoder.com/practice/3245215fffb84b7b81285493eae92ff0
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 const input = [] while(line = await readline()){ input.push(parseInt(line)) } const [,...arr] = input; const newArr = Array.from(new Set(arr)); const sortedArr = newArr.sort((a,b)=> a - b) for(const i of sortedArr){ console.log(i) } }()
我这里是使用了 ES6 的一些 API 来实现了,存在投机取巧的嫌疑:
- 利用 Set 构造实例时候的去重能力;
- 使用 js 数组现成的排序 API - sort();
但是,即使不取巧,这道题目也不难啊。基本思路不就是先去重,再排序吗?去重的思路不就是准备另外一个数组容器,然后逐个逐个地遍历原始数组的每个元素,看它是否存在容器数组中,如果不存在就放到这个容器数组里面。否则的话,就跳过。