【算法题】2570. 合并两个二维数组 - 求和法

news/2024/11/30 7:38:56/

题目:

给你两个 二维 整数数组 nums1 和 nums2.

nums1[i] = [idi, vali] 表示编号为 idi 的数字对应的值等于 vali 。
nums2[i] = [idi, vali] 表示编号为 idi 的数字对应的值等于 vali 。
每个数组都包含 互不相同 的 id ,并按 id 以 递增 顺序排列。

请你将两个数组合并为一个按 id 以递增顺序排列的数组,并符合下述条件:

只有在两个数组中至少出现过一次的 id 才能包含在结果数组内。
每个 id 在结果数组中 只能出现一次 ,并且其对应的值等于两个数组中该 id 所对应的值求和。如果某个数组中不存在该 id ,则认为其对应的值等于 0 。
返回结果数组。返回的数组需要按 id 以递增顺序排列。

示例 1:

输入:nums1 = [[1,2],[2,3],[4,5]], nums2 = [[1,4],[3,2],[4,1]]
输出:[[1,6],[2,3],[3,2],[4,6]]
解释:结果数组中包含以下元素:

  • id = 1 ,对应的值等于 2 + 4 = 6 。
  • id = 2 ,对应的值等于 3 。
  • id = 3 ,对应的值等于 2 。
  • id = 4 ,对应的值等于5 + 1 = 6 。
    示例 2:

输入:nums1 = [[2,4],[3,6],[5,5]], nums2 = [[1,3],[4,3]]
输出:[[1,3],[2,4],[3,6],[4,3],[5,5]]
解释:不存在共同 id ,在结果数组中只需要包含每个 id 和其对应的值。

提示:

1 <= nums1.length, nums2.length <= 200
nums1[i].length == nums2[j].length == 2
1 <= idi, vali <= 1000
数组中的 id 互不相同
数据均按 id 以严格递增顺序排列

java代码:

class Solution {public int[][] mergeArrays(int[][] nums1, int[][] nums2) {int []temp=new int[1001];int res=0;for(int i=0;i<nums1.length;i++){if(temp[nums1[i][0]]==0)res++;temp[nums1[i][0]]+=nums1[i][1];}for(int i=0;i<nums2.length;i++){if(temp[nums2[i][0]]==0)res++;temp[nums2[i][0]]+=nums2[i][1];}int[][]ans=new int[res][2];int j=0;for(int i=0;i<temp.length;i++){if(temp[i]!=0){ans[j][0]=i;ans[j][1]=temp[i];j++;}}return ans;}
}

http://www.ppmy.cn/news/505049.html

相关文章

MySQL千亿级数据生产环境扩容

MySQL千亿级数据生产环境扩容 数据库平滑扩容1. 扩容方案剖析1.1 扩容问题1.2 停机方案1.3 停写方案1.4 日志方案1.5 双写方案&#xff08;中小型数据&#xff09;1.6 平滑2N方案&#xff08;大数据量&#xff09; 2. 平滑2N扩容方案实践2.1 实现应用服务级别的动态扩容2.1.1 M…

小米TWRP格式化data无限重启变砖解决办法

大家后&#xff0c;我用了一个多星期时间观看各种帖 子&#xff0c;如何给自己的小米装上三方Magisk三方Twrp各种帖子&#xff0c;(说一下twep和twrp就是同一个三方Rec&#xff0c;每位博主命名不一样&#xff0c;我这么标题希望都能看得到这个帖子&#xff09;某一种情绪&…

解决nexus 6p 无限重启的问题。nexus 6p 刷入twrp,magisk

拯救不小心变为砖头的nexus 6p&#xff0c;一度以为自己的手机是bootloader无限重启&#xff0c;无法拯救的那种&#xff0c;后来 在同事的帮助下&#xff0c;成功刷完启动&#xff1b; 华为nexus 6p 刷机过程&#xff08;安卓版本是6.0.1&#xff09; 为什么会变成砖头&#…

nexus 5x刷入twrp 安装xposed框架

手机的系统是自己编译的android6.0.1_r1 1.刷入twrp 找到对应自己手机型号的twrp,记住一定是自己手机型号的,不然变砖的可能很大 下载好之后输入以下命令: adb reboot bootloader adb reboot bootloader fastboot flash recovery /Volumes/virtual/twrp-3.3.1-0-bullhead.i…

小米8 twrp recovery_小米手机机型怎么刷入脸谱Magisk模块详细教程

[闽南网] 相信很多小米手机的用户都需要面具模块来拓展手机&#xff0c;今天小编为大家带来的是小米机型刷Magisk详细教程&#xff0c;希望能对大家有所帮助。 第一步&#xff0c;解锁b1锁刷开发版 第二步&#xff0c;获取官方root第三步&#xff0c;下载软件镜像助手&#xff…

安卓rom制作教程_安卓手机TWRP_Recovery卡刷图文教程 适用于卡刷ROM,TWRP救砖

扫一扫二维码,关注我,解决刷机各种疑难杂症 ROM乐园独家支持 最近有很多小伙伴问怎么去卡刷,卡刷的操作是什么,什么是卡刷,小编就仔细来写一下 卡刷教程吧,记住,我们所说的卡刷,并不是仅仅针对于内存卡刷机,手机自带的空间也 可以存放刷机包,进行刷机,直白一个,就是…

【双清/双wipe】使用adb命令进行双清/双wipe

2019独角兽企业重金招聘Python工程师标准>>> 下面教大家用adb命令进行双清!前期手机需要root权限!不root啥都干不了!快速,简洁! 请备份好自己的数据,比如照片~~ 1.手机连接刷机精灵 4.下面进行双清 (一步一步来,一行是一步)完成后重启即可完成。 adb she…

三星s9android recovery,三星S9+刷第三方中文twrp recovery工具和教程

三星S9手机即使要获得root权限&#xff1f;刷第三方ROM包&#xff0c;那么三星S9手机要先刷入第三方recovery才行&#xff0c;今天114手机乐园给你们分享一下三星S9刷入第三方twrp recovery工具和教程。 三星S9刷recovery教程&#xff1a; 1、首先三星S9手机应解OEM锁&#xff…