题解 | #提取不重复的整数#

提取不重复的整数

https://www.nowcoder.com/practice/253986e66d114d378ae8de2e6c4577c1

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

// 时间复杂度 O(n)
void async function () {
    // Write your code here 
    while(line = await readline()){
        // console.log('line', line);
        let tokens = line.split(' ');
        // console.log('tokens', tokens);
        let input = parseInt(tokens[0]).toString(); // 只会输入一个数字 所以取第一个数字即可;
        let arr = input.split('').reverse();
        // split方法时间复杂度O(n), reverse()时间复杂度O(n)

        let uniqInputSet = new Set(arr); // 集合自动去重 // O(n)
        let uniqInputArr = Array.from(uniqInputSet); // O(n)
        let ans = '';
        while(uniqInputArr.length > 0) {
            let firstChar = uniqInputArr.shift(); // O(1)
            ans += firstChar; // O(1)
        }
        // while循环 O(n)
        console.log(Number(ans));
    }
}()

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务