Двусторонняя очередь на списке

Проектирование структур данных Средняя
Реализуйте дек на обычном списке. Операции operations: ["push_front", v], ["push_back", v], ["pop_front"], ["pop_back"] или ["snapshot"] (текущее содержимое как список). Верните список результатов операций pop_front/pop_back/snapshot по порядку.
Сигнатура функции
deque_ops(operations: list) -> list
Примеры
ВходОжидаемый результат
[[["push_back", 1], ["push_back", 2], ["push_front", 0], ["snapshot"], ["pop_front"], ["pop_back"]]][[0, 1, 2], 0, 2]
[[["pop_front"]]][-1]
[[["pop_back"]]][-1]
[[["push_front", 5], ["pop_back"]]][5]
[[["push_back", 1], ["push_back", 2], ["pop_front"], ["pop_front"], ["pop_front"]]][1, 2, -1]
[[["push_front", 1], ["push_front", 2], ["snapshot"]]][[2, 1]]
[[["push_back", 1], ["push_back", 2], ["push_back", 3], ["pop_back"], ["pop_back"]]][3, 2]
[[["push_front", 1]]][]
[[["push_back", 1], ["push_front", 2], ["push_back", 3], ["snapshot"]]][[2, 1, 3]]
[[["pop_front"], ["push_back", 9], ["pop_front"]]][-1, 9]
1решили
1пытались
100%успешность
Войдите, чтобы решить →