Problem
Solution
class Solution:
def moveZeroes(self, nums: List[int]) -> None:
"""
Do not return anything, modify nums in-place instead.
"""
# z keeps track of latest 0 encountered, i keeps track first of nonzero after z
z = 0
for i in range(len(nums)):
if nums[i] != 0:
nums[i], nums[z] = nums[z], nums[i]
z += 1 # next element is always zero since i checks for nonzero elements
Time Complexity
O(N)
Space Complexity
O(1)
'CODE > Algorithms & Data Structures' 카테고리의 다른 글
[Coderust] Merge an Array With Overlapping Intervals (0) | 2022.02.28 |
---|---|
[Coderust] Stock Buy Sell to Maximize Profit (0) | 2022.02.27 |
[Coderust] Find First and Last Position of Element in Sorted Array (0) | 2022.02.24 |
[Coderust] Rotate Array (0) | 2022.02.23 |
[Coderust] Find Smallest Common Element in All Rows (0) | 2022.02.22 |