华为研发工程师编程题-明明的随机数

明明生成了N个1到500之间的随机整数。请你删去其中重复的数字,即相同的数字只保留一个,把其余相同的数去掉,然后再把这些数从小到大排序,按照排好的顺序输出。

数据范围:1≤n≤1000  ,输入的数字大小满足 1≤val≤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 tokens = []
    while(line = await readline()){
        tokens.push(line)
    }
    tokens = tokens.map(Number)
    let i
    let array = []
    for(i=1;i<=tokens[0];i++)
        array.push(tokens[i])
    array.sort(function(a,b){
        return a-b
    })
    let n = tokens[0]
    for(i=1;i<n;i++){
        if(array[i]==array[i-1]){
            array.splice(i-1,1)
            i--
            n--
        }
    }
    array.map((item)=>{
        console.log(item)
    })
}()

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值