Quick actions

cmd+k|ctrl+k

Navigation

Languages

merge_sorted_arrays

Snippet info

Language

Python

Visibility

public

Author

atifazad

Created

2025-02-17T17:31:09.987518Z

Updated

2025-02-17T17:31:09.987518Z

def merge_sorted_arrays(array1: list, array2: list) -> list:
    # Check inputs
    if len(array1) == 0:
        return array2
    if len(array2) == 0:
        return array1

    merged_array: list = []
    i = 0
    j = 0

    # Compare elements of both arrays and append the smaller one to the merged array
    while i < len(array1) and j < len(array2):
        if array1[i] < array2[j]:
            merged_array.append(array1[i])
            i += 1
        else:
            merged_array.append(array2[j])
            j += 1

    # Append the remaining elements of the longer array
    while i < len(array1):
        merged_array.append(array1[i])
        i += 1

    while j < len(array2):
        merged_array.append(array2[j])
        j += 1

    return merged_array


# CASE-1: Both arrays are empty
array1 = []
array2 = []
result = merge_sorted_arrays(array1, array2)
print("CASE-1: Both arrays are empty")
print(result)

# CASE-2: First array is empty
array1 = []
array2 = [1, 2, 3]
result = merge_sorted_arrays(array1, array2)
print("\nCASE-2: First array is empty")
print(result)

# CASE-3: Second array is empty
array1 = [1, 2, 3]
array2 = []
result = merge_sorted_arrays(array1, array2)
print("\nCASE-3: Second array is empty")
print(result)

# CASE-4: Both arrays have elements
array1 = [1, 3, 5, 7]
array2 = [2, 4, 6, 8]
result = merge_sorted_arrays(array1, array2)
print("\nCASE-4: Both arrays have elements")
print(result)
INFO