Description:
Design a data structure that follows the constraints of a Least Recently Used (LRU) cache.
Implement the LRUCache class:
LRUCache(int capacity) Initialize the LRU cache with positive size capacity.
int get(int key) Return the value of the key if the key exists, otherwise return -1.
void put(int key, int value) Update the value of the key if the key exists. Otherwise, add the key-value pair to the cache. If the number of keys exceeds the capacity from this operation, evict the least recently used key.
Solution:
classLRUCache{constructor(capacity){this.cache=newMap();this.capacity=capacity;}get(key){if(!this.cache.has(key))return-1;constv=this.cache.get(key);this.cache.delete(key);this.cache.set(key,v);returnthis.cache.get(key);};put(key,value){if(this.cache.has(key)){this.cache.delete(key);}this.cache.set(key,value);if(this.cache.size>this.capacity){this.cache.delete(this.cache.keys().next().value);// keys().next().value returns first item's key}};}
Top comments(0)
Subscribe
For further actions, you may consider blocking this person and/orreporting abuse