Problem: LRU Cache
Explore the design and implementation of an LRU cache that supports constant-time get and put operations. Understand how combining a doubly linked list with a hash map enables efficient tracking of usage order and quick access of cached data. This lesson guides you through building the LRUCache class in Java, managing capacity, and handling eviction of least recently used items accurately.
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:
capacitykey...