题解 | #合并表记录#

合并表记录

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

使用Map 数据结构来进行合并相同的索引, 提交的时候发现还要对索引进行排序才行,所以读取的时候先存入数组里排序,[{},{},{}] 以这种数组包对象的显示,然后数组的sort方法就可以根据对象里的key进行排序了, map对象的forEach() 方法进行输出, 入参数的时候是forEach((value, key)=>{})


let n = parseInt(readline())
let lines = new Map()
let arr = []
for(let i = 0; i< n; i++){
    let line = readline()
    let key =parseInt(line.split(' ')[0])
    let value =parseInt(line.split(' ')[1])
    arr.push({key,value})
}
arr.sort((a,b) => a.key - b.key)

for(let i = 0; i < n; i++){
  let key = arr[i].key
  let value = arr[i].value
  if(lines.has(key)){
     lines.set(key, lines.get(key) + value)
  } else {
      lines.set(key, value)
  }
}

lines.forEach((value, key) => {
    console.log(key, value)
})
全部评论

相关推荐

06-04 09:27
门头沟学院 Java
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

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