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

2363. 合并相似的物品

时间:2023-02-28 15:23:56浏览次数:40  
标签:vector i1 i2 合并 ret items2 items1 物品 2363

class Solution {
    struct my_cmp{
         bool operator()(const vector<int> &ite1, const vector<int> &ite2) {
            return ite1[0] < ite2[0]; // 升序
        }
    } cmp;
public:
    vector<vector<int>> mergeSimilarItems(vector<vector<int>>& items1, vector<vector<int>>& items2) {
        sort(items1.begin(), items1.end(), cmp);
        sort(items2.begin(), items2.end(), cmp);
        vector<vector<int>> ret;
        int i1 = 0, i2 = 0;
        while( i1 < items1.size() && i2 < items2.size()) {
            if(items1[i1][0] == items2[i2][0]) {
                ret.push_back({items1[i1][0], items1[i1][1] + items2[i2][1]});
                ++i1;
                ++i2;
            }
            else if(items1[i1][0] < items2[i2][0]) {
                ret.push_back(items1[i1]);
                ++i1;
            }
            else {
                ret.push_back(items2[i2]);
                ++i2;
            }
        } 
        while(i1 < items1.size()) {
                ret.push_back(items1[i1]);
                ++i1;
        }
        while(i2 < items2.size()) {
                ret.push_back(items2[i2]);
                ++i2;
        }
        return ret;
    }
};

标签:vector,i1,i2,合并,ret,items2,items1,物品,2363
From: https://www.cnblogs.com/zjacky/p/17164372.html

相关文章

  • 力扣---2363. 合并相似的物品
    给你两个二维整数数组items1和items2,表示两个物品集合。每个数组items有以下特质:   items[i]=[valuei,weighti]其中valuei表示第i件物品的价值,weighti......
  • 合并相似的物品
    //给你两个二维整数数组 items1 和 items2 ,表示两个物品集合。每个数组 items 有以下特质:items[i]=[valuei,weighti] 其中 valuei 表示第 i 件物品的 价......
  • 合并区间算法示意
    给定一堆区间,可能存在交集,对区间进行合并返回没有交集的区间集合。本文记录了这种问题的一种解法importjava.util.ArrayList;importjava.util.Arrays;importjava.uti......
  • 多文件夹下Excel指定列的提取合并
    一、前言大家好,我是崔艳飞,工作中经常遇到,从多个文件夹下的Excel中,提取指定列,再合并成新的Excel。几个文件夹还能应付,但要是有成百上千个文件夹,你就要哭了,本文针对此问题,实......
  • lc21合并两个有序链表
    ​​21.合并两个有序链表​​难度简单2934收藏分享切换为英文接收动态反馈将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组......
  • 数组类目:力扣88. 合并两个有序数组
    思路:代码:classSolution{publicvoidmerge(int[]nums1,intm,int[]nums2,intn){intlen1=m-1;intlen2=n-1;intlen=m+......
  • git 多次提交记录合并为一次提交
    点击Reword可以修改此次提交的注释,然后在进行提交......
  • Hive 刷题——区间合并
    需求描述给定多个时间段,每个时间段分为开始时间、结束时间,将相互重叠的多个时间段合并为一个区间。--数据:id、开始时间、结束时间10011618100217191003293210......
  • 刷刷刷 Day 36 | 56. 合并区间
    56.合并区间LeetCode题目要求以数组intervals表示若干个区间的集合,其中单个区间为intervals[i]=[starti,endi]。请你合并所有重叠的区间,并返回 一个不重叠的区......
  • 如何实现把多个git仓库合并为一个,并保留提交记录?
    近期,我们中台git项目在进行monorepo改造。由多个各自独立的单一仓库改造成一个monorepo仓库。这其中就涉及到git仓库的合并。好办是好办,不过呢,要保留各仓库的提交记录的话,......