当前位置: 首页 > news >正文

宝安的医院网站建设微指数查询入口

宝安的医院网站建设,微指数查询入口,网站建设的公司排名,上海到北京机票2363. 合并相似的物品 题目描述 给你两个二维整数数组 items1 和 items2 ,表示两个物品集合。每个数组 items 有以下特质: items[i] [valuei, weighti] 其中 valuei 表示第 i 件物品的 价值 ,weighti 表示第 i 件物品的 重量 。items 中每…

2363. 合并相似的物品

题目描述

给你两个二维整数数组 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 都是 唯一的 。

算法一:map 和 vector 的转化

思路

  • 首先将 items1 里的 value 和 weight 转换为 map 对应的 键值对,由于 map 会默认对 key 升序排序,因此此时的顺序已经满足了题目的要求。
  • 接着遍历 items2 ,将 items2 中对应的物品也加入到 map 中。
  • 此时 map 里存储的键值对就是答案,但是这道题要求我们返回二维 vector ,因此还需要将 map 转化为 二维 vector。

收获

  • 一开始想要哈希表,但是如果用下标存储 value ,太浪费空间了;如果是使用二维数组作为哈希表,遍历 items2 的时候又难以获得 value ,最后看了提示,可以用 map 。
  • map 访问对象 , key - map.first , value - map.second;
  • 如何将 map 转化为 二维 vector :这个我想了很久,后来发现可以创建一维 vector,将 map.first 和 map.second 放入,再将一维数组 push_back 到二维数组 ans 中,得到最终答案。

算法情况

  • 时间复杂度:O(n + m), 其中 n 和 m 分别为 items1 和 items2 的长度;

  • 空间复杂度:O(n + m), 其中 n 和 m 分别为 items1 和 items2 的长度。

    在这里插入图片描述

代码

class Solution {
public:vector<vector<int>> mergeSimilarItems(vector<vector<int>>& items1, vector<vector<int>>& items2) {// map默认对key升序排序map<int, int> mp;// 转化为mapfor(auto t : items1){mp[t[0]] = t[1];}for(auto t2: items2){mp[t2[0]] += t2[1];}vector<vector<int>> ans;// map 转化为 vector<vector<int>>for(auto s : mp){vector<int> temp = {s.first, s.second};ans.push_back(temp);}return ans;}
};
http://www.wangmingla.cn/news/8117.html

相关文章:

  • 闵行网站建设游戏优化软件
  • 做网站要注册商标第几类seo是什么意思中文
  • 做调查问卷哪个网站好深圳博惠seo
  • 婚庆公司网站建设总结报告北京已感染上千万人
  • 怎么在programmableweb 网站做api分析图表b2c有哪些电商平台
  • 西宁百度推广公司电话百度起诉seo公司
  • 漳州网站建设哪家最权威中国网站访问量排行
  • 哪里有做胎儿dna亲子鉴定全网营销与seo
  • 为了做宣传网站而注册公司互联网营销策划案
  • 网站文档怎么加图片不显示现在什么app引流效果好
  • 电商网站首页图片切换怎么做的seo霸屏软件
  • 天津自动网站建设调试舆情监测系统
  • 用什么技术可以做web网站西安seo优化
  • 商城网站开发模板惠州网络营销
  • 网站导航栏原型图怎么做seo是什么意思seo是什么职位
  • 滨州做网站的电话网站设计服务企业
  • 海外代购上海网站排名优化
  • 小说网站的网编具体做哪些工作荥阳seo
  • 开源企业网站源码苏州seo推广
  • 网站的在线聊天怎么做软文范例大全
  • 网站开发成本都有哪几项自媒体人专用网站
  • 中国农业建设中心网站市场营销实务
  • 合肥做网站优化seo外包公司专家
  • 常州网站建设费用杭州网站外包
  • 西安机械加工网站建设制造业中小微企业
  • 微信微网站怎么做安装百度到手机桌面
  • 免费招聘网站有哪些百度竞价查询
  • 江苏国税网站电子申报怎么做手机怎么搭建网站
  • 上海 网站开发 外包常用的关键词挖掘工具有哪些
  • 摄影网站模板源码推特最新消息今天