写点什么

LeetCode 题解:2363. 合并相似的物品,哈希表,详细注释

作者:Lee Chen
  • 2023-02-28
    福建
  • 本文字数:449 字

    阅读完需:约 1 分钟

LeetCode题解:2363. 合并相似的物品,哈希表,详细注释

原题链接:https://leetcode.cn/problems/merge-similar-items/


解题思路:


  1. 先遍历两个数组,用 Map 缓存各个 value 对应的 weight

  2. 如果遇到已经存储过的 value,就将 weight 相加

  3. 将 Map 中缓存的 value 和 weight 取出到 result 中,进行排序后返回即可


/** * @param {number[][]} items1 * @param {number[][]} items2 * @return {number[][]} */var mergeSimilarItems = function (items1, items2) {  let map = new Map() // 用Map缓存各个value对应的weight  let result = [] // 存储结果
// 遍历数组,缓存各个value对应的weight for (const [value, weight] of items1) { map.set(value, weight) }
for (const [value, weight] of items2) { // 如果已经存储过value,需要将两个重量相加 map.set(value, (map.get(value) ?? 0) + weight) }
// 将缓存的value和weight存储到结果中 for (const [value, weight] of map) { result.push([value, weight]) }
// 对result排序 result.sort((a, b) => a[0] - b[0])
return result}
复制代码


发布于: 刚刚阅读数: 4
用户头像

Lee Chen

关注

还未添加个人签名 2018-08-29 加入

还未添加个人简介

评论

发布
暂无评论
LeetCode题解:2363. 合并相似的物品,哈希表,详细注释_JavaScript_Lee Chen_InfoQ写作社区