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