Sobes.tech
Middle — Senior

Hoe implementeer je een algoritme voor het tellen en verschuiven van nullen in een array in Python?

sobes.tech AI

Antwoord van AI

Om het aantal nullen te tellen en alle nullen naar het einde van de array te verplaatsen in Python, kun je het volgende algoritme gebruiken:

  1. Loop door de array en kopieer alle niet-nul elementen naar het begin.
  2. Vul de resterende posities met nullen.

Voorbeeld van implementatie:

from typing import List

def move_zeros(nums: List[int]) -> None:
    """Verplaatst alle nullen naar het einde van de array, terwijl de volgorde van niet-nul elementen behouden blijft."""
    insert_pos = 0
    for num in nums:
        if num != 0:
            nums[insert_pos] = num
            insert_pos += 1
    # Vul de resterende posities met nullen
    for i in range(insert_pos, len(nums)):
        nums[i] = 0

# Voorbeeld van gebruik
arr = [0, 1, 0, 3, 12]
move_zeros(arr)
print(arr)  # Uitvoer: [1, 3, 12, 0, 0]

Dit algoritme werkt in O(n) tijd en vereist O(1) extra geheugen.