Все задачи
Сложно
Чистая симуляция LRU-кеша
Условие
Обработайте операции над LRU-кешем ёмкости capacity. ["put", key, value] записывает значение и делает ключ самым свежим. ["get", key] возвращает значение или −1 и обновляет свежесть найденного ключа. Верните массив ответов только для get. При переполнении удаляется давно не использованный ключ.
Пример 1
Вход: 2, [["put","a",1],["put","b",2],["get","a"],["put","c",3],["get","b"],["get","c"]]
Выход: [1,-1,3]Пример 2
Вход: 1, [["put","x",1],["put","x",2],["get","x"]]
Выход: [2]Ограничения
- 1 ≤ capacity ≤ 10 000
- 0 ≤ operations.length ≤ 100 000
- Ключи — строки; значения — целые от 0 до 1 000 000
- Допустимы только операции put и get указанной формы
JS solution.js
Черновик в этой вкладке · Esc, затем Tab — выйти из редактора
Результаты тестов
Напиши решение и запусти тесты. Включены граничные случаи.