当前位置:网站首页>LeetCode简单题之合并相似的物品
LeetCode简单题之合并相似的物品
2022-08-10 12:05:00 【·星辰大海】
题目
给你两个二维整数数组 items1 和 items2 ,表示两个物品集合。每个数组 items 有以下特质:
items[i] = [valuei, weighti] 其中 valuei 表示第 i 件物品的 价值 ,weighti 表示第 i 件物品的 重量 。
items 中每件物品的价值都是 唯一的 。
请你返回一个二维数组 ret,其中 ret[i] = [valuei, weighti], weighti 是所有价值为 valuei 物品的 重量之和 。
注意:ret 应该按价值 升序 排序后返回。
示例 1:
输入:items1 = [[1,1],[4,5],[3,8]], items2 = [[3,1],[1,5]]
输出:[[1,6],[3,9],[4,5]]
解释:
value = 1 的物品在 items1 中 weight = 1 ,在 items2 中 weight = 5 ,总重量为 1 + 5 = 6 。
value = 3 的物品再 items1 中 weight = 8 ,在 items2 中 weight = 1 ,总重量为 8 + 1 = 9 。
value = 4 的物品在 items1 中 weight = 5 ,总重量为 5 。
所以,我们返回 [[1,6],[3,9],[4,5]] 。
示例 2:
输入:items1 = [[1,1],[3,2],[2,3]], items2 = [[2,1],[3,2],[1,3]]
输出:[[1,4],[2,4],[3,4]]
解释:
value = 1 的物品在 items1 中 weight = 1 ,在 items2 中 weight = 3 ,总重量为 1 + 3 = 4 。
value = 2 的物品在 items1 中 weight = 3 ,在 items2 中 weight = 1 ,总重量为 3 + 1 = 4 。
value = 3 的物品在 items1 中 weight = 2 ,在 items2 中 weight = 2 ,总重量为 2 + 2 = 4 。
所以,我们返回 [[1,4],[2,4],[3,4]] 。
示例 3:
输入:items1 = [[1,3],[2,2]], items2 = [[7,1],[2,2],[1,4]]
输出:[[1,7],[2,4],[7,1]]
解释:
value = 1 的物品在 items1 中 weight = 3 ,在 items2 中 weight = 4 ,总重量为 3 + 4 = 7 。
value = 2 的物品在 items1 中 weight = 2 ,在 items2 中 weight = 2 ,总重量为 2 + 2 = 4 。
value = 7 的物品在 items2 中 weight = 1 ,总重量为 1 。
所以,我们返回 [[1,7],[2,4],[7,1]] 。
提示:
1 <= items1.length, items2.length <= 1000
items1[i].length == items2[i].length == 2
1 <= valuei, weighti <= 1000
items1 中每个 valuei 都是 唯一的 。
items2 中每个 valuei 都是 唯一的 。
来源:力扣(LeetCode)
解题思路
将两个数组做成字典,其中每个数组中元素的第一个位置作为key第二个位置作为value,这样就可以直接取两个字典的并集,将存在的value都加在一起即可。
class Solution:
def mergeSimilarItems(self, items1: List[List[int]], items2: List[List[int]]) -> List[List[int]]:
items1,items2=dict(items1),dict(items2)
for i in items1.keys()|items2.keys():
items1[i]=items1.get(i,0)+items2.get(i,0)
return sorted(list(items1.items()))

边栏推荐
- 娄底植物细胞实验室建设基本组成要点
- 48 the mysql database
- How to cultivate the design thinking of ui designers?
- Custom filters and interceptors implement ThreadLocal thread closure
- tommy's spell
- Threshold-based filtering buffer management scheme in a shared buffer packet switch论文核心部分
- 制品库是什么?
- 毕业总结
- CodeForces - 628D (数位dp)
- Does face attendance choose face comparison 1:1 or face search 1:N?
猜你喜欢

国外媒体宣发怎样做才可以把握重点

dedecms支持Word内容一键导入

一文详解 implementation api embed

「网络架构」网络代理第一部分: 代理概述

Nanodlp v2.2/v3.0光固化电路板,机械开关/光电开关/接近开关的接法和系统状态电平设置

蚂蚁金服+拼多多+抖音+天猫(技术三面)面经合集助你拿大厂offer

阿里云贾朝辉:云XR平台支持彼真科技呈现国风科幻虚拟演唱会

Behind IDC's No. 1 position, what kind of "video cloud" is Alibaba Cloud building?

7、Instant-ngp

A detailed explanation of implementation api embed
随机推荐
Threshold-based filtering buffer management scheme in a shared buffer packet switch论文核心部分
16、Pytorch Lightning入门
2022年8月中国数据库排行榜:openGauss重夺榜眼,PolarDB反超人大金仓
CV复习:空洞卷积
国外媒体宣发怎样做才可以把握重点
Diary 16
技术人必看!数据治理是什么?它对数据中台建设重要吗?
camshift实现目标跟踪
这三个 Go 水平自测题,你手写不出来还是先老实上班吧,过来看看
第六届”蓝帽杯“全国大学生网络安全技能大赛半决赛部分WriteUp
Hackbar 使用教程
爱可可AI前沿推介(8.10)
LeetCode 24. Swap nodes in linked list pairwise
iTextSharp操作PDF
娄底石油化工实验设计、建设规划概述
「企业架构」应用架构概述
Common examples of regular expressions
娄底疾控中心实验室设计理念说明
7、Instant-ngp
Dining (网络流)