题解 | 合并表记录

合并表记录

https://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201

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 count;
    let result = [];
    let output = [];
    while(line = await readline()){
        let tokens = line.split(' ');
        if (!count) count = +tokens[0];
        if (tokens.length === 2) {
            result.push({
                i: tokens[0],
                value: tokens[1]
            })
        }
    }
    // console.log(result, 'result')
    output = result.reduce((pre, cur, index) => {
        if (Array.isArray(pre)) {
            let index = pre.findIndex((item) => item.i === cur.i);
            if (index !== -1) {
                pre[index].value = +pre[index].value + +cur.value;
            } else {
                pre.push(cur);
            }
            return pre;
        } else {
            let res = [];
           if (pre.i === cur.i) {
            res.push({
                i: cur.i,
                value: +pre.value + +cur.value
            })
            // console.log(res, 'rs')
           } else {
            res.push({
                i: pre.i,
                value: +pre.value
            })
             res.push({
                i: cur.i,
                value: +cur.value
            })
           }
           return res;
        }
    })
    output = output.sort((a, b) => Number(a.i) - Number(b.i));
        // console.log(output, 'output')
    output.map((item, index) => {
        console.log(item.i, item.value)
    })
        

    
}()

#萌新求指导#
全部评论

相关推荐

05-24 14:12
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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