Merge Two Sorted Arrays

Two Pointers

Problem

Given two sorted integer arrays A and B, merge B into A as one sorted array.

For example:

Input : 
         nums1 = [1 5 8]
         nums2 = [6 9]

Output: [1 5 6 8 9]

Solution

def mergeH(nums1, nums2):
    m = len(nums1)
    n = len(nums2)
    i=len(nums1)-1
    j=len(nums2)-1
    C = [0 for p in range(m+n)]
    k=len(C)-1
    while i>-1 and j>-1:
        if nums1[i]>nums2[j]:
            C[k]=nums1[i]
            i-=1
        else:
            C[k]=nums2[j]
            j-=1
        k-=1
    while i>-1:
        C[k]=nums1[i]
        i-=1
        k-=1
    while j>-1:
        C[k]=nums2[j]
        j-=1
        k-=1
            
    return C

Last updated

Was this helpful?