美文网首页
【算法题】2570. 合并两个二维数组 - 求和法

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

作者: 程序员小2 | 来源:发表于2023-06-20 20:57 被阅读0次

题目:

给你两个 二维 整数数组 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;
    }
}

相关文章

  • 一道算法题之两个有序数组合并

    最近面试的时候遇到了一道算法题,两个有序数组合并,要求新的数组也是有序的 此题比较简单,主要是看数组元素进行对比,...

  • 88、合并两个有序数组 | 算法(leetcode,附思维导图

    零 标题:算法(leetcode,附思维导图 + 全部解法)300题之(88)合并两个有序数组 一 题目描述 二 ...

  • 2020-07-02

    算法和数据结构梳理 线性表 顺序表数组(移动、原地操作、前缀和)多数组(合并 交集二维数组(旋转、数独、染色、置零...

  • 面试问题收集

    小米 1、算法题:合并两个排序数组成为一个有序数组 2、HashMap实现原理,自定义key的注意事项 3、has...

  • PHP 常用自定义函数

    获取分页信息 二维数组去重 二维数组合并重复项 二维数组排序 二维数组字母排序

  • 牛客网高频算法题系列-BM18-二维数组中的查找

    牛客网高频算法题系列-BM18-二维数组中的查找 题目描述 在一个二维数组array中(每个一维数组的长度相同),...

  • iOS面试之算法大全

    算法 算法内容如下: 字符串反转 链表反转 有序数组合并 Hash算法 查找两个子视图的共同父视图 求无序数组当中...

  • iOS面试之算法模块

    算法 算法内容如下: 字符串反转 链表反转 有序数组合并 Hash算法 查找两个子视图的共同父视图 求无序数组当中...

  • 第七章二维数组

    格式 格式2:数据类型[][] 数组名 = new 数据类型[m][]; 遍历二维数组 二维数组求和

  • freeCodeCamp 旅途9 - 算法中级

    算法中级:范围内的数字求和 算法中级:区分两个数组 算法中级:瞄准和消灭 算法中级:罗密欧与朱丽叶 算法中级:短线...

网友评论

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

      本文链接:https://www.haomeiwen.com/subject/nbquydtx.html