Реализуйте LRU-кэш ёмкости capacity. Дан список операций operations: ["put", key, value] или ["get", key]. put вытесняет наименее давно использованный элемент при переполнении; любое обращение (get или put к существующему ключу) обновляет 'свежесть' ключа. Верните список результатов всех операций get по порядку (-1, если ключа нет).
| Вход | Ожидаемый результат |
| [2, [["put", 1, 1], ["put", 2, 2], ["get", 1], ["put", 3, 3], ["get", 2], ["put", 4, 4], ["get", 1], ["get", 3], ["get", 4]]] | [1, -1, -1, 3, 4] |
| [1, [["put", 1, 1], ["put", 2, 2], ["get", 1], ["get", 2]]] | [-1, 2] |
| [2, [["get", 1]]] | [-1] |
| [2, [["put", 1, 10], ["get", 1]]] | [10] |
| [3, [["put", 1, 1], ["put", 2, 2], ["put", 3, 3], ["get", 1], ["put", 4, 4], ["get", 2], ["get", 3], ["get", 4]]] | [1, -1, 3, 4] |
| [2, [["put", 1, 1], ["get", 1], ["put", 2, 2], ["get", 1], ["get", 2]]] | [1, 1, 2] |
| [1, [["put", 1, 1], ["put", 2, 2], ["get", 1], ["get", 2]]] | [-1, 2] |
| [2, [["put", 2, 1], ["put", 1, 1], ["put", 2, 3], ["put", 4, 1], ["get", 1], ["get", 2]]] | [-1, 3] |
| [2, [["put", 1, 1], ["put", 2, 2], ["put", 1, 10], ["get", 1], ["get", 2]]] | [10, 2] |
| [4, [["put", 1, 1], ["put", 2, 2], ["put", 3, 3], ["put", 4, 4], ["get", 1], ["get", 2], ["get", 3], ["get", 4]]] | [1, 2, 3, 4] |