Все темы
54

Стек, который ещё знает своё наименьшее значение

Tier 1Закрыто

Где применяется

1. Задача

Обычный стек кладёт, снимает и показывает верх за O(1). Но на вопрос «какое здесь сейчас наименьшее значение?» быстрого ответа у него нет. Придётся просматривать весь стек, а это O(n) на каждый вопрос. Вопрос же возникает постоянно: самая низкая цена за торговую сессию, минимум в истории, которую можно откатывать, наименьший элемент, пока данные добавляются и убираются.

Min stack (стек с минимумом) отвечает на getMin за O(1). Идея за ним маленькая, но пригодится много где: держи готовый ответ рядом с данными и не пересчитывай его.

Этот шаг из платной части

Бесплатные шаги в начале курса (их 33) открыты всем: урок, задача и тесты. Этот шаг открывается с полным доступом. Начни с бесплатного аккаунта и бесплатных шагов.

Завести бесплатный аккаунтПосмотреть, что входит

На LeetCode

Задачи на проектирование, где стек должен за O(1) отвечать на дополнительный вопрос, например о наименьшем значении. Храни ответ для каждого уровня рядом со значением, и снятие вернёт прежний ответ.

Мы используем необходимые куки для работы сайта (вход и язык). Если ты согласишься, мы также загрузим Google Analytics, чтобы видеть, какие страницы читают, и Google reCAPTCHA для защиты форм обратной связи и сообщений об ошибке от спама. Политика конфиденциальности