feat: add task 3
This commit is contained in:
25
task3/main.py
Normal file
25
task3/main.py
Normal file
@@ -0,0 +1,25 @@
|
||||
from collections import deque
|
||||
from typing import Iterable, Reversible
|
||||
|
||||
|
||||
def read_numbers() -> list[int]:
|
||||
return list(map(int, input("A=").split()))
|
||||
|
||||
def get_modified_sequence(numbers: Reversible[int]) -> Iterable[int]:
|
||||
stack: deque[int] = deque()
|
||||
result: deque[int] = deque()
|
||||
for number in reversed(numbers):
|
||||
while stack:
|
||||
if stack[-1] >= number:
|
||||
result.appendleft(stack[-1])
|
||||
break
|
||||
stack.pop()
|
||||
else:
|
||||
result.appendleft(0)
|
||||
stack.append(number)
|
||||
return result
|
||||
|
||||
def print_sequence(sequence: Iterable[int]) -> None:
|
||||
print(f"A={' '.join(map(str, sequence))}")
|
||||
|
||||
print_sequence(get_modified_sequence(read_numbers()))
|
||||
Reference in New Issue
Block a user