Назад к задачам
Junior — Senior
2

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

Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

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

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