GoalScope — lru_cache (Qwen2.5-Coder-32B-Instruct) — hover a token to see the patched verbalization
↵ <code>↵ class LRUCache:↵ """Least Recently Used Cache Implementation"""↵ class Node:↵ def __init__(self, key=0, value=0):↵ self.key = key↵ self.value = value↵ self.prev = None↵ self.next = None↵ ↵ def __init__(self, capacity: int):↵ self.cache = {}↵ self.capacity = capacity↵ self.size = 0↵ self.head, self.tail = self.Node(), self.Node()↵ self.head.next = self.tail↵ self.tail.prev = self.head↵ ↵ def _remove(self, node):↵ prev = node.prev↵ nxt = node.next↵ prev.next = nxt↵ nxt.prev = prev↵ ↵ def _add(self, node):↵ node.prev = self.head↵ node.next = self.head.next↵ self.head.next.prev = node↵ self.head.next = node↵ ↵ def get(self, key: int) -> int:↵ node = self.cache.get(key, None)↵ if not node:↵ return -1↵ self._remove(node)↵ self._add(node)↵ return node.value↵ ↵ def put(self, key: int, value: int) -> None:↵ node = self.cache.get(key)↵ if not node:↵ newNode = self.Node(key, value)↵ self.cache[key] = newNode↵ self._add(newNode)↵ self.size += 1↵ if self.size > self.capacity:↵ tail = self.tail.prev↵ self._remove(tail)↵ del self.cache[tail.key]↵ self.size -= 1↵ else:↵ node.value = value↵ self._remove(node)↵ self._add(node)↵ </code>