advanced
Реализация LRU-кэша
Разработка структуры данных для кэширования с вытеснением давно неиспользуемых элементов.
📝 प्रॉम्ट सामग्री
Реализуйте класс LRUCache на Python, который поддерживает операции get и put за O(1) времени. Кэш должен иметь фиксированную емкость. При достижении лимита перед добавлением нового элемента должен удаляться элемент, к которому дольше всего не обращались (Least Recently Used). Обязательно используйте collections.OrderedDict или эквивалентную структуру (хеш-таблица + двусвязный список). Напишите单元 тесты для проверки корректности граничных условий, таких как дублирование ключей и превышение лимита.