Sobes.tech
Junior — Middle+
67

Создать кеш с вытеснением по принципу FIFO

Условие задачи

Нужно реализовать кеш ограниченного объёма, где удаление происходит по правилу «первый пришёл — первый ушёл». При попытке добавить элемент, превышающий максимальный размер, следует избавиться от самого раннего добавленного элемента (не важно, как часто к нему обращались). Функция get должна возвращать сохранённое значение, а если ключ отсутствует — -1.

put(int, int)     // добавляет значение по ключу
get(int, int) int // возвращает значение по ключу, если нет — -1