CODE-0003 · claude-opus-4-8 (low)from collections import OrderedDict
class LRUCache:
def __init__(self, capacity):
if capacity < 0:
raise ValueError("capacity must be a non-negative integer")
self.capacity = capacity
self._store = OrderedDict()
def get(self, key):
if key not in self._store:
return -1
self._store.move_to_end(key)
return self._store[key]
def put(self, key, value):
if self.capacity == 0:
return
if key in self._store:
self._store.move_to_end(key)
self._store[key] = value
if len(self._store) > self.capacity:
self._store.popitem(last=False)