HOT 100 › 索引 › B7 链表 Linked List
LC 146LRU 缓存LRU Cache 中等
设计支持 get 与 put 的 LRU 缓存,两操作均 O(1),超容时淘汰最久未使用的键。
思路 OrderedDict:命中/写入 move_to_end 到尾,超容 popitem(last=False) 弹最旧。
class LRUCache: def __init__(self, capacity: int): self.cap = capacity self.od = OrderedDict() def get(self, key: int) -> int: if key not in self.od: return -1 self.od.move_to_end(key) return self.od[key] def put(self, key: int, value: int) -> None: if key in self.od: self.od.move_to_end(key) self.od[key] = value if len(self.od) > self.cap: self.od.popitem(last=False)