描述
数据表记录包含表索引index和数值value(int范围的正整数),请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照index值升序进行输出。
提示:
0 <= index <= 11111111
1 <= value <= 100000
输入描述:
先输入键值对的个数n(1 <= n <= 500)
接下来n行每行输入成对的index和value值,以空格隔开
输出描述:
输出合并后的键值对(多行)
解题代码:
const readline = require("readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
let numMap = {}
rl.on("line", function (line) {
const numList = line.split(" ")
if(numMap[numList[0]]) {
numMap[numList[0]] = Number(numMap[numList[0]]) + Number(numList[1])
} else {
numMap[numList[0]] = numList[1]
}
});
// 能够接收到 numMap数据
rl.on('close',function(){
for(let key in numMap) {
numMap[key] && console.log(`${key} ${numMap[key]}`)
}
})