Design an LRU cache with get(key) and put(key, value) in O(1). Evict least recently used when capacity exceeded. Use Map or Doubly Linked List.
Skip to solutionKEEP THE
mediumDSA
Implement LRU Cache (get/put with O(1))
338 views
01
Understand the problem
lrucachemapdoubly-linked-list
02
Attempt it yourself
Sketch your approach before reading the solution — that's what interviews test.
Nudge consolestandby
Stuck? Beam a request up — the console returns a conceptual nudge that guides your logic without spoiling the implementation.
03
Study the solution
Approach: Map preserves insertion order — get deletes+re-sets to mark recent; put does same and evicts first key when over capacity. O(1) via Map ops. DLL alternative for interview depth.
class LRUCache {
constructor(capacity) { this.capacity = capacity; this.map = new Map(); }
get(key) {
Solution ready — 2 min read
Classified // press E to declassify
04
Join the discussion
Discussion (0)
Sign in to join the discussion.
No responses yet. Be the first to share what you think.
Transmission complete // awaiting log
KEEP THE
STREAK ALIVE.
Dossier 141 of 190 decoded in the JavaScript Coding track. One more won't hurt.