Merge Sorted Array – Python 3 ( Week 11 – 08)

   class Solution:
    """
    @param: A: sorted integer array A which has m elements, but size of A is m+n
    @param: m: An integer
    @param: B: sorted integer array B which has n elements
    @param: n: An integer
    @return: nothing
    """
    def mergeSortedArray(self, A, m, B, n):
        # write your code here
        
        t = m + n - 1
        i, j = m - 1, n - 1 
        
        while i >= 0 or j >= 0:
            if j < 0 or (i >= 0 and A[i] >= B[j]):
                A[t] = A[i]
                i -= 1 
            else:
                A[t] = B[j]
                j -= 1
            t -= 1 
            
        return A

Time O(n + m). Space O(1).

Leave a comment

Design a site like this with WordPress.com
Get started