Ctrl K
Python · Middle · Код

Реализуйте класс LRUCache с заданной ёмкостью и двумя методами: get возвращает значение по ключу или None, put сохраняет значение. При переполнении вытесняется ключ, к которому дольше всего не обращались, и обе операции должны работать за O(1).

~15 мин голосом

Как подойти

Проверяют, умеет ли кандидат сочетать хеш-таблицу с упорядоченной структурой, чтобы получить O(1) на get и put, и аккуратно ли он обрабатывает граничные случаи: освежение ключа при get, обновление существующего ключа без вытеснения, отсутствующий ключ.

Встречал этот вопрос на настоящем собесе?
Ответов0
Средний балл—
Сильных—
Тренировали0
Темы
Похожие вопросыРеализуйте LRU-кэш фиксированной ёмкости. Метод get принимает ключ и возвращает значение или признак отсутствия, метод put добавляет или обновляет значение, а при переполнении вытесняется ключ, который дольше всех не использовали. Обе операции должны работать за O(1). MiddleРеализуй класс LruCache с фиксированной вместимостью, которую передают в конструктор. Метод get по ключу возвращает значение или null, метод put кладёт пару ключ-значение, а при переполнении вытесняется элемент, к которому дольше всего не обращались. Обе операции должны работать за константное время. Middle

Ответь голосом

Интервьюер задаст этот вопрос и послушает. Думай вслух, проси подсказку, если нужно. Закончил — пауза или «Я ответил», через минуту здесь балл и какие пункты закрыты.

Войти, чтобы ответить

Лучше в наушниках · ~15 мин