题解 | 设计LRU缓存结构

设计LRU缓存结构

https://www.nowcoder.com/practice/5dfded165916435d9defb053c63f1e84


邪修写法,直接用OrderedDict实现哈希表和双向链表



from collections import OrderedDict
class Solution:

 def __init__(self, capacity: int):
    self.capacity = capacity
    self.cache = OrderedDict()

 def get(self, key: int) -> int:
    if key not in self.cache:
        return -1
    self.cache.move_to_end(key)
    return self.cache[key]
    

 def set(self, key: int, value: int) -> None:
    if key in self.cache:
        self.cache.move_to_end(key)
    self.cache[key] = value

    if len(self.cache) > self.capacity:
        self.cache.popitem(last=False)






 # write code here

# Your Solution object will be instantiated and called as such:
# solution = Solution(capacity)
# output = solution.get(key)
# solution.set(key,value)

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务