题解 | #高精度整数加法#

高精度整数加法

https://www.nowcoder.com/practice/49e772ab08994a96980f9618892e55b6

const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;
let lines = [];
void (async function () {
    // Write your code here
    while ((line = await readline())) {
        lines.push(line);
        if (lines.length === 2) {
            getResult(lines);
        }
    }
})();

function getResult(lines) {
    let short = lines[0].split("").map(Number);
    let long = lines[1].split("").map(Number);
    if (short.length > long.length) {
        let temp = short;
        short = long;
        long = temp;
    }
    short.unshift(...new Array(long.length - short.length).fill(Number(0)));
    // console.log(short)
    let result = [];
    let c = 0;
    while (long.length) {
        let r = long.pop() + short.pop() + c;
        result.unshift(r % 10);
        c = parseInt(r / 10);
        if (long.length === 0) {
            result.unshift(c);
            break;
        }
    }
    while (result[0] === 0) {
        result.shift();
    }
    if(result.length===0){
        result=[0]
    }
    console.log(result.join(""));
}

思路就是:将两个字符串转成数值,短的那段前边补足0至和长字符长度相等。然后按照加法运算法则将结果计入数组,最后将数组前空余的0去掉

全部评论

相关推荐

长鑫存储
投递长鑫存储等公司6个岗位 >
点赞 评论 收藏
分享
买蜜雪也用卷:我觉得应该没有哪个人敢说自己熟练使用git,代码分支一复杂还是得慢慢寻思一下的,不过基本的拉代码提交代码还有分支什么的是应该会
点赞 评论 收藏
分享
吐泡泡的咸鱼:我也工作了几年了,也陆陆续续面试过不少人,就简历来说,第一眼学历不太够,你只能靠你的实习或者论文或者项目经历,然后你没有论文,没有含金量高的比赛和奖项,只能看实习和项目,实习来说,你写的实习经历完全不清楚你想找什么工作?行研?数据分析?且写的太少了,再看项目,这些项目先不说上过大学读过研究生的都知道很水,然后对你想找的岗位有什么帮助呢?项目和实习也完全不匹配啊,你好像在努力将你所有的经历都放在简历里想表现你的优秀,但是对于你想找的岗位来说,有什么用呢?最后只能获得岗位不匹配的评价。所以你需要明白你想要找的岗位要求是什么,是做什么的,比如产品经理,然后再看你的经历里有什么匹配的上这个岗位,或者对这个岗位以及这个岗位所在的公司有价值,再写到你的简历上
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务