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:
- Massivdə gəzərək bütün sıfır olmayan elementləri əvvəldə kopyalayın.
- 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.