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

安徽元鼎建设工程网站软文推广收费

安徽元鼎建设工程网站,软文推广收费,微信网站是多少,图书网站建设策划书1万字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.dinnco.com/news/57096.html

相关文章:

  • 雄安优秀网站建设哪家好自媒体代运营
  • 专门做电商的网站有哪些软文发布平台与板块
  • 银行做网站视频优化防疫措施
  • 企业营销型网站做的好推广赚钱一个50元
  • 网站目录怎么做301重定向qq代刷网站推广
  • 专门做评测的网站b2b平台推广网站
  • 做富集的网站网站排名查询
  • 做网站好还是app好成都网站优化公司
  • 怎样给自己的店做网站湖南中高风险地区
  • 佛山电脑培训班哪里有seo是什么意思seo是什么职位
  • cms建站流程如何做网络推广推广
  • wordpress演示数据导入天津百度seo
  • 企业网站建设对网络营销的影响主要表现在( )seo裤子的关键词首页排名有哪些
  • 公司做网站比较好的平台营销方案范文
  • 上海建设工程交易中心官网长春seo代理
  • 东莞市网站建设分站企业推广平台排名前十名
  • 企业网站可以做一级等保吗成都排名推广
  • 定制微信怎么做百度搜索引擎优化详解
  • 做厂房出租有那些推广网站百度图片识别在线识图
  • 织梦的网站地图更新推广文章的推广渠道
  • 湖北正规网站建设质量保障营销型网站制作公司
  • 全网营销型网站网站内容管理系统
  • 淘城汇网站谁做的外贸网站seo教程
  • 株洲网站建设seo站内优化和站外优化
  • 淄博网站制作首选专家微信推广
  • 如何鉴别网站有没有做301重定向深圳seo关键词优化
  • 网站 建设的售后服务宁波seo网站推广
  • 17网站一起做网店档口出租西安网站维护
  • 天津做网站的公西安seo诊断
  • 网站建设实验报告总结seo 网站排名