Problem: LRU Cache
Explore how to build an LRU cache data structure by combining a hash map for quick lookups and a doubly linked list to track usage order. Understand how to maintain O(1) average time complexity for cache operations while managing capacity constraints using Go.
We'll cover the following...
Statement
Design a data structure that follows the constraints of a least recently used (LRU) cache.
Implement the LRUCache class with the following operations:
LRUCache(int capacity): Initializes the LRU cache with a positive sizecapacity.int get(int key): Returns the value associated withkeyif it exists in the cache. Otherwise, returns. void put(int key, int value): Updates the value ofkeyif it already exists in the cache. Otherwise, inserts thekey\-valuepair into the cache. If this insertion causes the number of keys to exceedcapacity, the least recently used key must be evicted.
Note: Both
getandputmust operate inaverage time complexity.
Constraints:
capacity...