题解 | #合并表记录#

合并表记录

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 n;
    let count = 0;
    let kvMap = new Map();
    let kv = null,
        key = null,
        val = null;
    while ((line = await readline())) {
        if (count == 0) {
            // n = parseInt(n);
            count++;
            continue;
        }
		// 1、这里把输入转化为字典形式存储并去重加和
        kv = line.split(" ");
        [key, val] = [kv[0], parseInt(kv[1])];
        kvMap[key] = kvMap[key] ? kvMap[key] + val : val;

        kv = null;
        key = null;
        val = null;
    }
	// 2、将字典中的key排序后打印输出
    arr = Object.keys(kvMap);
    arr.sort((a, b) => a - b);
    for(let i = 0; i < arr.length; i++) {
        console.log(arr[i], kvMap[arr[i]]);
    }
})();

全部评论

相关推荐

程序员小白条:可以,技术栈别写太多,因为学院本这块,没必要太多,项目的话可以提前,技术栈放最下面,要么技术栈放最前面,多准备下八股文
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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