Middle — Senior
როგორ განვახორციელოთ ნულების გამთვლელი და გადატანის ალგორითმი Python-ში?
sobes.tech AI
პასუხი AI-სგან
Python-ში ნულების რაოდენობის გამოთვლა და ყველა ნული ბოლოს გადატანა შესაძლებელია შემდეგი ალგორითმის გამოყენებით:
- გაიარეთ მასივი და კოპირეთ ყველა ნულოვანი ელემენტი დასაწყისში.
- დარჩენილი პოზიციები შეავსეთ ნულებით.
გამოყენების მაგალითი:
from typing import List
def move_zeros(nums: List[int]) -> None:
"""გადაადგილებს ყველა ნულს მასივის ბოლოს, ინარჩუნებს ნულოვანი ელემენტების წესრიგს."""
insert_pos = 0
for num in nums:
if num != 0:
nums[insert_pos] = num
insert_pos += 1
# შეავსეთ დარჩენილი პოზიციები ნულებით
for i in range(insert_pos, len(nums)):
nums[i] = 0
# გამოყენების მაგალითი
arr = [0, 1, 0, 3, 12]
move_zeros(arr)
print(arr) # შედეგი: [1, 3, 12, 0, 0]
ეს ალგორითმი მუშაობს დროით O(n) და დამატებით მეხსიერებით O(1).