
Product
Announcing Socket Fix 2.0
Socket Fix 2.0 brings targeted CVE remediation, smarter upgrade planning, and broader ecosystem support to help developers get to zero alerts.
github.com/FedoseevAlex/OtusGolangHomeWork/hw04_lru_cache
Необходимо реализовать LRU-кэш на основе двусвязного списка.
Задание состоит из двух частей, которые необходимо выполнять последовательно.
Список имеет структуру вида
nil <- (prev) front <-> ... <-> elem <-> ... <-> back (next) -> nil
Необходимо реализовать следующий интерфейс List:
Гарантируется, что методы Remove и MoveToFront вызываются от существующих в списке элементов.
Элемент списка ListItem:
Сложность всех операций должна быть O(1), т.е. не должно быть мест, где осуществляется полный обход списка.
Необходимо реализовать следующий интерфейс Cache:
Структура кэша:
Элемент кэша хранит в себе ключ, по которому он лежит в словаре, и само значение. Для чего это нужно понятно из алгоритма работы кэша (см. ниже).
Сложность операций Set
/Get
должна быть O(1), при желании Clear
тоже можно сделать О(1).
Алгоритм работы кэша:
map
)Ожидаются следующие тесты:
(*) Дополнительное задание: сделать кэш горутино-безопасным.
FAQs
Unknown package
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket Fix 2.0 brings targeted CVE remediation, smarter upgrade planning, and broader ecosystem support to help developers get to zero alerts.
Security News
Socket CEO Feross Aboukhadijeh joins Risky Business Weekly to unpack recent npm phishing attacks, their limited impact, and the risks if attackers get smarter.
Product
Socket’s new Tier 1 Reachability filters out up to 80% of irrelevant CVEs, so security teams can focus on the vulnerabilities that matter.