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