最近师兄碰到一道面试题,一起做了做,题目本来是java的,但师兄面试的岗位其实是python,所以我们用python进行了实现。
题目:
运用你所掌握的数据结构,设计和实现一个LRU(最近最少使用)缓存机制。它应该支持以下操作:获取数据get和写入数据put。
具体思路与java实现见:https://zhuanlan.zhihu.com/p/34133067
下面是python实现:
class DLinkedNode(object):
def __init__(self, key, value):
self.key = key
self.value = value
# 前驱
self.pre = None
# 后继
self.post = None
def __init__(self):
self.key = None
self.value = None
# 前驱
self.pre = None
# 后继
self.post = None
class LRUCache():
def __init__(self, capacity):