Middle — Senior
Kā īstenot algoritmu, kas skaita un pārvieto nulles masīvā Python?
sobes.tech AI
Atbilde no AI
Lai skaitītu nulles skaitu un pārvietotu visas nulles uz masīva beigām Python, var izmantot šo algoritmu:
- Pārliecinieties pa masīvu un nokopējiet visus nenull elementus uz sākumu.
- Aizpildiet atlikušās pozīcijas ar nullēm.
Piemērs ieviešanai:
from typing import List
def move_zeros(nums: List[int]) -> None:
"""Pārvieto visus nulles elementus uz masīva beigām, saglabājot nenull elementu kārtību."""
insert_pos = 0
for num in nums:
if num != 0:
nums[insert_pos] = num
insert_pos += 1
# Aizpildiet ar nullēm
for i in range(insert_pos, len(nums)):
nums[i] = 0
# Piemērs lietošanai
arr = [0, 1, 0, 3, 12]
move_zeros(arr)
print(arr) # Izvade: [1, 3, 12, 0, 0]
Šis algoritms darbojas laikā O(n) un prasa papildu atmiņu O(1).