当前位置:网站首页>Merge similar items in LeetCode simple questions
Merge similar items in LeetCode simple questions
2022-08-10 12:56:00 【·The sea of stars】
题目
gives you two 2D integer arrays items1 和 items2 ,Represents a collection of two items.每个数组 items Has the following characteristics:
items[i] = [valuei, weighti] 其中 valuei 表示第 i 件物品的 价值 ,weighti 表示第 i 件物品的 重量 .
items The value of each item in is 唯一的 .
请你返回一个二维数组 ret,其中 ret[i] = [valuei, weighti], weighti are all values for valuei 物品的 sum of weights .
注意:ret Should be by value 升序 排序后返回.
示例 1:
输入:items1 = [[1,1],[4,5],[3,8]], items2 = [[3,1],[1,5]]
输出:[[1,6],[3,9],[4,5]]
解释:
value = 1 's items are in items1 中 weight = 1 ,在 items2 中 weight = 5 ,总重量为 1 + 5 = 6 .
value = 3 items again items1 中 weight = 8 ,在 items2 中 weight = 1 ,总重量为 8 + 1 = 9 .
value = 4 's items are in 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 's items are in items1 中 weight = 1 ,在 items2 中 weight = 3 ,总重量为 1 + 3 = 4 .
value = 2 's items are in items1 中 weight = 3 ,在 items2 中 weight = 1 ,总重量为 3 + 1 = 4 .
value = 3 's items are in 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 's items are in items1 中 weight = 3 ,在 items2 中 weight = 4 ,总重量为 3 + 4 = 7 .
value = 2 's items are in items1 中 weight = 2 ,在 items2 中 weight = 2 ,总重量为 2 + 2 = 4 .
value = 7 's items are in 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)
解题思路
Make two arrays into a dictionary,where the first position of the element in each array is taken askeyThe second position asvalue,This way you can directly take the union of the two dictionaries,将存在的valueJust add them all together.
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()))

边栏推荐
猜你喜欢
随机推荐
堪称神级的阿里巴巴“高并发”教程——基础+实战+源码+面试+架构 全包了
camshift achieves target tracking
LeetCode中等题之比较版本号
[List merge] Combine multiple lists into one list
娄底妆品实验室建设规划构思
娄底农产品检验实验室建设指南盘点
7、Instant-ngp
你是怎么知道数据库 Htap 能力强弱的?怎么能看出来
Keithley DMM7510精准测量超低功耗设备各种运作模式功耗
Chapter 5 virtual memory
47Haproxy集群
【list合并】多个list合并为一个list
LeetCode简单题之合并相似的物品
es6-promise对象详解
LT8911EXB MIPI CSI/DSI转EDP信号转换
Deploy the project halfway through the follow-up
ASP.NET Core依赖注入系统学习教程:ServiceDescriptor(服务注册描述类型)
phpstrom 快速注释:
Threshold-based filtering buffer management scheme in a shared buffer packet switch core part of the paper
How to do foreign media publicity to grasp the key points








