from collections import OrderedDict class Solution: def __init__(self, capacity): self.capacity = capacity self.cache = OrderedDict() def get(self, key): if key not in self.cache: return -1 value = self.cache.pop(key) self.cache[key] = value return value def set(self, key, value): if key in self.cache: self.cache.pop(key) elif len(self.cache) >= self.capacity: self.cache.popitem(last=False) self.cache[key] = value return None