首页 > 其他分享 >2363. 合并相似的物品 (Easy)

2363. 合并相似的物品 (Easy)

时间:2023-02-28 17:58:02浏览次数:49  
标签:weight value items2 items1 ret Easy 物品 2363

问题描述

2363. 合并相似的物品 (Easy)

给你两个二维整数数组 items1items2 ,表示两个物品集合。每个数组 items 有以下特质:

  • items[i] = [valueᵢ, weightᵢ] 其中 valueᵢ 表示第 i 件物品的
    价值weightᵢ 表示第 i 件物品的 重量
  • items 中每件物品的价值都是 唯一的

请你返回一个二维数组 ret,其中 ret[i] = [valueᵢ, weightᵢ]weightᵢ
是所有价值为 valueᵢ 物品的 重量之和

注意: 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 <= valueᵢ, weightᵢ <= 1000
  • items1 中每个 valueᵢ 都是 唯一的
  • items2 中每个 valueᵢ 都是 唯一的

解题思路

哈希表+模拟

代码

class Solution {
  public:
    vector<vector<int>> mergeSimilarItems(vector<vector<int>> &items1, vector<vector<int>> &items2) {
        unordered_map<int, int> ump;
        for (auto &vec : items1) {
            ump[vec[0]] += vec[1];
        }
        for (auto &vec : items2) {
            ump[vec[0]] += vec[1];
        }
        vector<vector<int>> ret;
        for (auto &pair : ump) {
            ret.push_back({pair.first, pair.second});
        }
        std::sort(ret.begin(), ret.end());
        return ret;
    }
};

标签:weight,value,items2,items1,ret,Easy,物品,2363
From: https://www.cnblogs.com/zwyyy456/p/17165397.html

相关文章

  • 2357. 使数组中所有元素都等于零 (Easy)
    问题描述2357.使数组中所有元素都等于零(Easy)给你一个非负整数数组nums。在一步操作中,你必须:选出一个正整数x,x需要小于或等于nums中最小的非零元素。n......
  • 2347. 最好的扑克手牌 (Easy)
    问题描述2347.最好的扑克手牌(Easy)给你一个整数数组ranks和一个字符数组suit。你有5张扑克牌,第i张牌大小为ranks[i],花色为suits[i]。下述是从好到坏你可......
  • 2335.装满杯子需要的最短总时长 (Easy)
    问题描述2335.装满杯子需要的最短总时长(Easy)现有一台饮水机,可以制备冷水、温水和热水。每秒钟,可以装满2杯不同类型的水或者1杯任意类型的水。给你一个下标从......
  • 2341. 数组能形成多少数对 (Easy)
    问题描述2341.数组能形成多少数对(Easy)给你一个下标从0开始的整数数组nums。在一步操作中,你可以执行以下步骤:从nums选出两个相等的整数从nums中移除这......
  • 2363. 合并相似的物品
    classSolution{structmy_cmp{booloperator()(constvector<int>&ite1,constvector<int>&ite2){returnite1[0]<ite2[0];//升序......
  • easypoi多sheet导出
    以前一直接触的是单sheet导出,这次的需求换成了多sheet导出,算是一个难点所以得记录一下底层关键的代码就是:privatestaticvoiddefaultExport(List<Map<String,Object>......
  • 力扣---2363. 合并相似的物品
    给你两个二维整数数组items1和items2,表示两个物品集合。每个数组items有以下特质:   items[i]=[valuei,weighti]其中valuei表示第i件物品的价值,weighti......
  • springboot集成easyexcel(阿里)
    poi比较占用内存。easyexcel性能优化不少,值得一看。pom.xml中添加:<dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.1.6</......
  • 合并相似的物品
    //给你两个二维整数数组 items1 和 items2 ,表示两个物品集合。每个数组 items 有以下特质:items[i]=[valuei,weighti] 其中 valuei 表示第 i 件物品的 价......
  • leetcode-1024-easy
    DivisorGameAliceandBobtaketurnsplayingagame,withAlicestartingfirst.Initially,thereisanumbernonthechalkboard.Oneachplayer'sturn,that......