Update and rename array-merge-inplace.py to merge_inplace.py

This commit is contained in:
marina 2023-08-07 17:26:09 -07:00 committed by GitHub
parent 761c1f0670
commit 86a538032a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -12,13 +12,9 @@ The final sorted array should not be returned by the function,
but instead be stored inside the array nums1. but instead be stored inside the array nums1.
To accommodate this, nums1 has a length of m + n, where the first m elements denote the elements To accommodate this, nums1 has a length of m + n, where the first m elements denote the elements
that should be merged, and the last n elements are set to 0 and should be ignored. nums2 has a length of n. that should be merged, and the last n elements are set to 0 and should be ignored. nums2 has a length of n.
""" """
def merge(big_list: list[int], m: int, small_list: list[int], n: int) -> None: def merge(big_list: list[int], m: int, small_list: list[int], n: int) -> None:
"""
Do not return anything, modify nums1 in-place instead.
"""
index_big, index_small, index_backward = m - 1, n - 1, m + n - 1 index_big, index_small, index_backward = m - 1, n - 1, m + n - 1
@ -42,16 +38,3 @@ def merge(big_list: list[int], m: int, small_list: list[int], n: int) -> None:
big_list[index_backward] = small_list[index_small] big_list[index_backward] = small_list[index_small]
index_backward -= 1 index_backward -= 1
index_small -= 1 index_small -= 1
if __name__ == "__main__":
nums1 = [1,2,3,0,0,0]
m = 3
nums2 = [2,5,6]
n = 3
merge(nums1, m, nums2, n)
print(nums1)
# [1,2,2,3,5,6]