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

图片素材网站怎么做江门百度seo公司

图片素材网站怎么做,江门百度seo公司,成都手机网站建设,电脑做网站服务器教程请你设计并实现一个满足 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.yidumall.com/news/72732.html

相关文章:

  • 网站的软文 怎么做推广淘宝运营培训班
  • 软件工程毕业可以做网站吗seo优化查询
  • 网站产品内容在数据库网络营销创意案例
  • 公安局网站不备案百度关键词搜索优化
  • 常见的微网站平台有哪些方面百度资源平台
  • 网站如何做地推市场推广方案
  • 定制化网站推广策略包括哪些内容
  • 福建省亿力电力建设有限公司网站seo查询站长工具
  • 如何开网站需要多少钱新闻危机公关
  • 免费建网站的步骤百度指数名词解释
  • 綦江集团网站建设上海网络推广渠道
  • 一个人怎么做网站在线查询网站收录
  • 以太坊网站开发网络营销与直播电商好就业吗
  • 网站的建设包括那几个模块安卓优化大师旧版
  • 乡镇网站建设营销策划方案ppt模板
  • 自动化测试培训机构哪个好济南做seo排名
  • 产品外观设计网站windows10优化大师
  • 林芝做网站推广专员
  • 做网站 挣广告联盟的佣金口碑营销的模式
  • 河南省建设厅网网站武汉搜索排名提升
  • 直播app软件开发需要多少钱网站seo外包公司有哪些
  • 简约好看的ppt模板免费下载网站关键词优化软件
  • 品牌网站建设c重庆中国seo公司
  • 找谁做网站比较好百度网站排名关键词整站优化
  • 网页素材网站免费正规seo一般多少钱
  • 南宁自助建站软件淘宝指数转换工具
  • c2c模式的优势和劣势浙江seo关键词
  • 国企网站建设的意义竞价排名的定义
  • 最专业的企业营销型网站建设价格百度明星搜索量排行榜
  • 百度不收录网站关键词seo培训费用