Hii Team.
I wanted to dicuss about the code that i had written for LRU implementation in python. So i request you all to please go through it and let me know that if this code will be better to write in interview or not. Thanks.
#implmentation of lru in python:
class LRU:
def __init__(self,maxsize):
self.queue=[]
self.map=set()
self.maxsize=maxsize
self.pagehit=0
def insert(self, value):
if value in self.map:
if len(self.queue)<=self.maxsize:
self.queue.remove(value)
self.queue.insert(0,value)
self.pagehit+=1
else:
if len(self.queue)==self.maxsize:
self.map.discard(self.queue[len(self.queue)-1])
self.queue.pop()
self.queue.insert(0,value)
elif len(self.queue)<self.maxsize:
self.queue.insert(0,value)
self.map.add(value)
lru = LRU(3)
arr = [1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5]
for element in arr:
lru.insert(element)
print(lru.pagehit)