Untitled

 avatar
unknown
plain_text
5 months ago
742 B
5
Indexable
class LRU:
    
    def __init__(self, capacity):
        self.capacity = capacity
        self.stack = []
        self.memo = {}
        
    def get(self, key):
        if key in self.stack:
            self.stack.remove(key)
        value = self.memo.get(key, False)
        if key in self.memo:
            self.stack.append(key)
        return value
    
    def put(self, key, value):
        if len(self.memo.keys()) == self.capacity:
            lru_key = self.stack[0]
            del self.memo[lru_key]
            self.stack.remove(lru_key)
        self.stack.append(key)
        self.memo[key] = value
            
lru = LRU(3)

lru.put('a',4)
lru.put('b',6)
lru.put('c',9)
lru.get('a')
lru.put('d',10)
print(lru.get('a'))



    
Editor is loading...
Leave a Comment