CODE-0003 · claude-haiku-4-5 (default)from collections import OrderedDict
class LRUCache:
def __init__(self, capacity):
self.capacity = capacity
self.cache = OrderedDict()
def get(self, key):
if key not in self.cache:
return -1
# Move to end to mark as most recently used
self.cache.move_to_end(key)
return self.cache[key]
def put(self, key, value):
if self.capacity == 0:
return
if key in self.cache:
# Update existing key and mark as most recently used
self.cache[key] = value
self.cache.move_to_end(key)
else:
# Add new key
if len(self.cache) >= self.capacity:
# Remove least recently used (first item)
self.cache.popitem(last=False)
self.cache[key] = value