मुख्य कंटेंट तक स्किप करें
Back to ChallengesMerge Two Sorted ArraysMedium 25 min

Merge Two Sorted Arrays

You are given two integer arrays nums1 and nums2, sorted in non-decreasing order, and two integers m and n, representing the number of elements in nums1 and nums2 respectively.

Merge nums1 and nums2 into a single array sorted in non-decreasing order. The final sorted array should not be returned by the function, but instead be stored inside the array nums1. To accommodate this, nums1 has a length of m + n.

Examples

Input: nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3
Output: [1,2,2,3,5,6]
The arrays we are merging are [1,2,3] and [2,5,6]. The result of the merge is [1,2,2,3,5,6].

Constraints

  • nums1.length == m + n
  • nums2.length == n
  • 0 <= m, n <= 200
  • -10^9 <= nums1[i], nums2[j] <= 10^9

Complexity Analysis

Time
O(m + n)
traversing both arrays once.
Space
O(1)
merging in-place.

Test Cases

#1 Standard merge
Input: nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3
Expected: [1,2,2,3,5,6]
#2 Second array empty
Input: nums1 = [1], m = 1, nums2 = [], n = 0
Expected: [1]
JavaScript
Output
Click "Run Code" to see output here...