题解 | #进制转换#

进制转换

https://www.nowcoder.com/practice/8f3df50d2b9043208c5eed283d1d4da6

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 input = ''
    while(line = await readline()){
       input = line;
    }
    const token  = input.split('');
    const [first,second,...rest] = token;
      const map = {
        a: 10,
        b: 11,
        c: 12,
        d: 13,
        e: 14,
        f: 15
    };
    const arr = rest.map(i=> {
        if(/\d/.test(i)){
            return parseInt(i)
        }else {
            return map[i.toLowerCase()]
        }
    }).reverse();
  
    let result = 0
    for(let i = 0;i< arr.length;i++){
        result += Math.pow(16,i) * arr[i]
    }
    console.log(result + '\n')
}()

感觉没有考到算法思想啊。难道是华为对前端在算法方面的思想比较低?

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务