add some array playing

This commit is contained in:
Marina S 2023-07-29 11:08:44 -07:00 committed by GitHub
parent 5732cfcc61
commit 5c55b81641
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 263 additions and 0 deletions
arrays_and_strings

View file

@ -0,0 +1,33 @@
# Given a fixed-length integer array arr, duplicate each occurrence of zero,
# shifting the remaining elements to the right.
def duplicate_zeros(arr: list[int]) -> list[int]:
"""
Do not return anything, modify arr in-place instead.
"""
i = 0
while i < len(arr):
if arr[i] == 0 and i != len(arr) - 1:
range_here = len(arr) - (i + 2)
while range_here > 0:
arr[i + range_here + 1] = arr[i + range_here]
range_here -= 1
arr[i+1] = 0
i += 2
else:
i += 1
return arr
if __name__ == "__main__":
arr = [1, 0, 2, 3, 0, 4, 5, 0]
print(duplicate_zeros(arr))