Sobes.tech
Middle — Senior

Python-da massivdə sıfırların sayılması və hərəkət etdirilməsi alqoritmini necə həyata keçirmək olar?

sobes.tech Süni İntellekt

AI-dan cavab

Python-da sıfırların sayını hesablamaq və bütün sıfırları massiv sonunda yerləşdirmək üçün aşağıdakı algoritmdən istifadə edə bilərsiniz:

  1. Massivdə gəzərək bütün sıfır olmayan elementləri əvvəldə kopyalayın.
  2. Qalan yerləri sıfırlarla doldurun.

Tətbiq nümunəsi:

from typing import List

def move_zeros(nums: List[int]) -> None:
    """Bütün sıfırları massiv sonunda yerləşdirir, sıfır olmayan elementlərin ardıcıllığını saxlayaraq."""
    insert_pos = 0
    for num in nums:
        if num != 0:
            nums[insert_pos] = num
            insert_pos += 1
    # Qalan yerləri sıfırlarla doldurun
    for i in range(insert_pos, len(nums)):
        nums[i] = 0

# İstifadə nümunəsi
arr = [0, 1, 0, 3, 12]
move_zeros(arr)
print(arr)  # Nəticə: [1, 3, 12, 0, 0]

Bu algoritm O(n) vaxtda işləyir və əlavə yaddaş üçün O(1) tələb edir.