Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

In-Place Merge of Sorted Arrays

EasyPython00:00
Practice interviewer
In session
5 left
00:00

Your question is In-Place Merge of Sorted Arrays. Start with the requirements on the right.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.

Problem

An Applied Materials process-monitoring routine receives two nondecreasing arrays of sensor readings. The first array, nums1, has enough trailing capacity to store every value from nums2. Merge both sorted arrays directly into nums1 without allocating another array and without using sorting or built-in merge methods.

nums1 contains m valid readings followed by n placeholder slots. nums2 contains n valid readings. Modify nums1 so its first m + n positions contain all readings in nondecreasing order, and return nums1.

Formal Specification

Implement merge_sorted_arrays(nums1, m, nums2, n).

  • Input: integer list nums1 of length m + n, integer m, integer list nums2 of length n, and integer n.
  • Output: the modified nums1 list.
  • The first m elements of nums1 and all elements of nums2 are sorted in nondecreasing order.
  • Do not allocate an auxiliary array or call sorting, merging, or equivalent built-in methods.

Constraints

  • 0 <= m, n <= 10^5
  • len(nums1) = m + n
  • len(nums2) = n
  • -10^9 <= nums1[i], nums2[i] <= 10^9
  • Both valid input ranges are sorted in nondecreasing order

Function Signature

def merge_sorted_arrays(nums1, m, nums2, n):
Your solutionPython 3
You need to log in / sign up to run or submit.
Run your code to see test output