Кэш с ограничением по времени жизни (TTL)

Проектирование структур данных Средняя
Реализуйте кэш, где каждая запись живёт ttl единиц времени после записи. Дан список операций operations: ["put", key, value, timestamp] или ["get", key, timestamp]. Верните список результатов всех операций get по порядку (-1, если ключа нет или он истёк к этому моменту).
Сигнатура функции
ttl_cache_ops(ttl: int, operations: list) -> list[int]
Примеры
ВходОжидаемый результат
[5, [["put", 1, 100, 0], ["get", 1, 3], ["get", 1, 10]]][100, -1]
[1, [["get", 1, 0]]][-1]
[10, [["put", 1, 5, 0], ["get", 1, 9], ["get", 1, 10]]][5, -1]
[2, [["put", 1, 1, 0], ["put", 1, 2, 1], ["get", 1, 2], ["get", 1, 3]]][2, -1]
[1, [["put", 1, 1, 0], ["get", 1, 1]]][-1]
[100, [["put", 1, 1, 0], ["put", 2, 2, 0], ["get", 1, 50], ["get", 2, 50]]][1, 2]
[5, [["put", 1, 10, 0], ["get", 2, 1]]][-1]
[3, [["put", 5, 50, 2], ["get", 5, 4], ["get", 5, 5]]][50, -1]
[0, [["put", 1, 1, 0], ["get", 1, 0]]][-1]
[5, [["put", 1, 1, 0], ["put", 2, 2, 3], ["get", 1, 4], ["get", 2, 4]]][1, 2]
1решили
1пытались
100%успешность
Войдите, чтобы решить →