Quick actions

cmd+k|ctrl+k

Navigation

Languages

mergeSortedArrays

Snippet info

Language

Python

Visibility

public

Author

arthurpc02

Created

2024-09-21T21:33:15.838266Z

Updated

2024-09-21T22:26:24.391597Z

# mergeSortedArrays([0,3,4,31], [4,6,30]);
# [0,3,4,4,6,30,31]

# inputs: two arrays
# outputs: one merged array

# option1: append the array, sort the resulting array o(n²)
# option2: optimization

def mergeSortedArrays(Arr, Brr):
    # validate input
    output_array = []
    
    while (len(Arr) or len(Brr)) > 0:
        if len(Arr) == 0:
            output_array.append(Brr[0])
            if len(Brr) != 0:
                Brr.pop(0)
        elif len(Brr) == 0:
            output_array.append(Arr[0])
            if len(Arr) != 0:
                Arr.pop(0);
        elif Arr[0] < Brr[0]:
            output_array.append(Arr[0])
            if len(Arr) != 0:
                Arr.pop(0);
        else:
            output_array.append(Brr[0])
            if len(Brr) != 0:
                Brr.pop(0)
    
    return output_array



print("Hello World!")
sample_arrayA = [0,3,4,31]
sample_arrayB = [4,6,30]

result1 = mergeSortedArrays(sample_arrayA, sample_arrayB)
# print(result1)
assert(result1==[0,3,4,4,6,30,31])

sample_arrayA = [0,3,3,3]
sample_arrayB = [3,3,4,6,30]
result2 = mergeSortedArrays(sample_arrayA, sample_arrayB)
assert(result2 == [0,3,3,3,3,3,4,6,30])


print("Goodbye Cruel World")
INFO