в список nums, но чтобы функция ничего не возвращала?
from typing import List
def moveZeroes(nums: List[int]) -> None:
"""
Do not return anything, modify nums in-place instead.
"""
count = 0
res = []
for i in nums:
if i == 0:
count += 1
continue
res.append(i)
for i in range(count):
res.append(0)
nums = res
print(nums)
moveZeroes([0,1,0,3,12])
>>> def foo(lst): ... res = [1, 2, 3] ... lst[:] = res[:] ... >>> x = [3, 2, 1] >>> foo(x) >>> x [1, 2, 3] >>> но выглядит так себе.
list[:]=res тогда уж
Если это учебная задача, вряд ли от тебя ждут этого.
идеально
"modify nums in-place" означает, что надо вообще без дополнительного списка обойтись
зависит от уровня с которого смотришь. Если не лезть в реализацию, то для тебя lst[:] = ... будет выглядеть как in-place 8)
С уровня постановки задачи. ;-)
Ну обычно это про то, что используемая дополнительная память не зависит от размера входных данных
ну просто в противном случае, я не понимаю, зачем вообще такое может понадобиться, да.
Обсуждают сегодня