Skip to content

Commit 6a15c82

Browse files
authored
Create duplicate-zeros.py
1 parent ce81023 commit 6a15c82

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

Python/duplicate-zeros.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Time: O(n)
2+
# Space: O(1)
3+
4+
class Solution(object):
5+
def duplicateZeros(self, arr):
6+
"""
7+
:type arr: List[int]
8+
:rtype: None Do not return anything, modify arr in-place instead.
9+
"""
10+
shift, i = 0, 0
11+
while i+shift < len(arr):
12+
shift += int(arr[i] == 0)
13+
i += 1
14+
i -= 1
15+
while shift:
16+
if i+shift < len(arr):
17+
arr[i+shift] = arr[i]
18+
if arr[i] == 0:
19+
shift -= 1
20+
arr[i+shift] = arr[i]
21+
i -= 1

0 commit comments

Comments
 (0)