Merge Two 2D Arrays by Summing Values

You are given two 2D integer arrays nums1 and nums2.

  • nums1[i] = [idi, vali] indicates that the number with the id idi has a value equal to vali.
  • nums2[i] = [idi, vali] indicates that the number with the id idi has a value equal to vali.

Each array contains unique ids and is sorted in ascending order by id.

Merge the two arrays into one array that is sorted in ascending order by id, respecting the following conditions:

  • Only ids that appear in at least one of the two arrays should be included in the resulting array.
  • Each id should be included only once, and its value should be the sum of the values of this id in the two arrays. If the id does not exist in one of the two arrays, assume its value in that array to be 0.

Return the resulting array. The returned array must be sorted in ascending order by id.

Example 1
Inputnums1 = [[1,2],[2,3],[4,5]], nums2 = [[1,4],[3,2],[4,1]]
Output[[1,6],[2,3],[3,2],[4,6]]
The resulting array includes id 1 with value 2 + 4 = 6, id 2 with value 3, id 3 with value 2, and id 4 with value 5 + 1 = 6.
Example 2
Inputnums1 = [[2,4],[3,6],[5,5]], nums2 = [[1,3],[4,3]]
Output[[1,3],[2,4],[3,6],[4,3],[5,5]]
There are no common ids, so each id is included with its value in the resulting list.

Constraints

  • 1 <= nums1.length, nums2.length <= 200
  • nums1[i].length == nums2[j].length == 2
  • 1 <= idi, vali <= 1000
  • Both arrays contain unique ids.
  • Both arrays are in strictly ascending order by id.

Asked at 6 companies

</>

Your Solution

(Ctrl/Cmd + Enter)

Switching Language

Loading template...

Loading...

Sign in to save your progress

AI code evaluation

Get a correctness verdict, missed edge cases, and complexity analysis of your solution.

Sign in to evaluate