题解 | 合并表记录
合并表记录
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) }) }()#萌新求指导#