Минимум в стеке за O(1)
Стек и очередь
Легкая
Нужно поддержать стек с быстрым получением минимума. Стек с самого начала пуст. Операции заданы списком ops, каждая - пара [код, значение]:
- код 0 - push(значение);
- код 1 - pop() (значение в паре игнорируется);
- код 2 - getMin() (значение игнорируется, возвращает текущий минимум).
Верните список результатов ВСЕХ операций getMin в том порядке, в котором они встретились.
Гарантируется, что pop() и getMin() не вызываются на пустом стеке.
Каждая операция должна выполняться за O(1) - пересчитывать минимум по всему стеку при каждом запросе нельзя.
Сигнатура функции
min_stack_queries(ops: list[list[int]]) -> list[int]
Примеры
| Вход | Ожидаемый результат |
| [[[0, -2], [0, 0], [0, -3], [2, 0], [1, 0], [2, 0]]] | [-3, -2] |
| [[[0, 5], [2, 0]]] | [5] |
1решили
1пытались
100%успешность
Войдите, чтобы решить →