Sobes.tech
Back to tasks
Junior — Senior
56

Стек, умеющий быстро возвращать минимальный элемент

Task condition

livecode

Необходимо создать структуру стека, поддерживающую четыре операции:

  • push(x) — добавить элемент x в стек;
  • pop() — удалить элемент, находящийся на вершине стека;
  • top() — вернуть значение верхнего элемента без его удаления;
  • get_min() — получить текущий наименьший элемент среди всех, находящихся в стеке. Все перечисленные операции обязаны работать за константное время O(1).