LeetCode 146. LRU Cache (javascript solution)

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 …


This content originally appeared on DEV Community and was authored by codingpineapple

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:

class LRUCache {
  constructor(capacity) {
    this.cache = new Map();
    this.capacity = capacity;
  }

  get(key) {
    if (!this.cache.has(key)) return -1;

    const v = this.cache.get(key);
    this.cache.delete(key);
    this.cache.set(key, v);
    return this.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
    }
  };
}


This content originally appeared on DEV Community and was authored by codingpineapple


Print Share Comment Cite Upload Translate Updates
APA

codingpineapple | Sciencx (2021-06-01T02:19:46+00:00) LeetCode 146. LRU Cache (javascript solution). Retrieved from https://www.scien.cx/2021/06/01/leetcode-146-lru-cache-javascript-solution/

MLA
" » LeetCode 146. LRU Cache (javascript solution)." codingpineapple | Sciencx - Tuesday June 1, 2021, https://www.scien.cx/2021/06/01/leetcode-146-lru-cache-javascript-solution/
HARVARD
codingpineapple | Sciencx Tuesday June 1, 2021 » LeetCode 146. LRU Cache (javascript solution)., viewed ,<https://www.scien.cx/2021/06/01/leetcode-146-lru-cache-javascript-solution/>
VANCOUVER
codingpineapple | Sciencx - » LeetCode 146. LRU Cache (javascript solution). [Internet]. [Accessed ]. Available from: https://www.scien.cx/2021/06/01/leetcode-146-lru-cache-javascript-solution/
CHICAGO
" » LeetCode 146. LRU Cache (javascript solution)." codingpineapple | Sciencx - Accessed . https://www.scien.cx/2021/06/01/leetcode-146-lru-cache-javascript-solution/
IEEE
" » LeetCode 146. LRU Cache (javascript solution)." codingpineapple | Sciencx [Online]. Available: https://www.scien.cx/2021/06/01/leetcode-146-lru-cache-javascript-solution/. [Accessed: ]
rf:citation
» LeetCode 146. LRU Cache (javascript solution) | codingpineapple | Sciencx | https://www.scien.cx/2021/06/01/leetcode-146-lru-cache-javascript-solution/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.