当前位置: 首页 > news >正文

net网站开发是什么中交路桥建设有限公司电话

net网站开发是什么,中交路桥建设有限公司电话,社区电商小程序模板包含哪些,永久 终身 云服务器请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类: LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存 int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 …

请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。
实现 LRUCache 类:
LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存
int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。
void put(int key, int value) 如果关键字 key 已经存在,则变更其数据值 value ;如果不存在,则向缓存中插入该组 key-value 。如果插入操作导致关键字数量超过 capacity ,则应该 逐出 最久未使用的关键字。
函数 get 和 put 必须以 O(1) 的平均时间复杂度运行。

解题思路

看的题解,双向链表+哈希表+假链表头尾

AC代码

class DLinkedNode:def __init__(self, key=0, value=0):self.key = keyself.value = valueself.prev = Noneself.next = Noneclass LRUCache:def __init__(self, capacity: int):self.cache = dict()# 使用伪头部和伪尾部节点    self.head = DLinkedNode()self.tail = DLinkedNode()self.head.next = self.tailself.tail.prev = self.headself.capacity = capacityself.size = 0def get(self, key: int) -> int:if key not in self.cache:return -1node = self.cache[key]self.moveToHead(node)return node.valuedef put(self, key: int, value: int) -> None:if key not in self.cache:# 如果 key 不存在,创建一个新的节点node = DLinkedNode(key, value)# 添加进哈希表self.cache[key] = node# 添加至双向链表的头部self.addToHead(node)self.size += 1if self.size > self.capacity:# 如果超出容量,删除双向链表的尾部节点removed = self.removeTail()# 删除哈希表中对应的项self.cache.pop(removed.key)self.size -= 1else:# 如果 key 存在,先通过哈希表定位,再修改 value,并移到头部node = self.cache[key]node.value = valueself.moveToHead(node)def addToHead(self, node):node.next = self.head.nextnode.prev = self.headself.head.next.prev = nodeself.head.next = nodedef removedNode(self, node):node.prev.next = node.nextnode.next.prev = node.prevdef moveToHead(self, node):self.removedNode(node)self.addToHead(node)def removeTail(self):node = self.tail.prevself.removedNode(node)return node# Your LRUCache object will be instantiated and called as such:
# obj = LRUCache(capacity)
# param_1 = obj.get(key)
# obj.put(key,value)
http://www.yayakq.cn/news/605046/

相关文章:

  • 网站运行速度优化网站运营论文
  • 远涛网站建设国家标准物质网站建设
  • 控制台网站网站建设注意事情
  • 瑞安学校网站建设手机视频制作
  • 东莞市研发网站建设企业高端建站神器
  • 网站开发的小结旅游网站系统
  • 塔城建设局网站深圳广告公司名录
  • 大型网站制作流程企业邮箱查询网站
  • 南通通明建设监理有限公司网站可以在线做c语言的网站
  • 银川网站建设效果高淳哪家做网站不错
  • 做静态网站成本免费标志在线设计
  • 网站升级建设中开发小程序好的公司
  • 做网站开发的是不是程序员网站做几级等保
  • 网站通栏代码中国建设行业峰会网站
  • wordpress网站在线安装最便宜的网站叫什么名字
  • 长治专业做网站做app网站公司
  • 合肥网站网页设计500云网站
  • 手机开发和网站开发前景网站如何快速被收录
  • 如何快速制作一个网站佛山做网站格
  • 东营网站设计多少钱教育培训类网站建设模板
  • vuejs 网站开发丰县建设局规划局网站
  • 手机软件制作网站广州黄埔做网站公司哪家好
  • 为什要做网站集团网站下分网站 模板
  • 重庆哪家在做网站建设南昌建设企业网站公司
  • 个人网站免费搭建个人博客网站搭建模板
  • 南京 电子商务网站内页网站地图 权重
  • 安卓app做网站外壳丹东市供求信息网免费发布
  • 重庆电商网站找it工作有什么好的招聘网站
  • 网站建设推广是什么游戏平台搭建
  • 浏览器如何推广自己网站网站建设结构方案