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

优秀企业站网站建设网站一般多少钱

优秀企业站网站,建设网站一般多少钱,北京网站建设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.yayakq.cn/news/954720/

相关文章:

  • 做网站和做软件哪个有发展手机h5模板
  • 知名的建站公司专门做2次元图片的网站
  • 卖印花图案设计网站成都建材网站建设
  • 网站可以制作ios广州哪个区最好
  • 高端网站建设 骆诗学网页设计与制作需要什么软件
  • 营销型网站(易网拓)2021东莞解封最新消息
  • 品牌网站建设哪家好邢台建设专业网站
  • 做废铝的关注哪个网站好长春建站免费模板
  • 网站制作软件dw的全称上海全国关键词排名优化
  • 中国建设银行校园招聘网站网上商城网站建设意义
  • 网站建设综合实训报告石家庄seo网络推广
  • 简单个人网站制作wordpress类别链接
  • 自主建站平台酷家乐装修设计软件app下载
  • 谁做的12306网站网站建设w亿玛酷1负责
  • 自助个人网站珠海摥园网站建设
  • 个人网站设计论文摘要软文推广系统
  • 建设书法网站的主题是大连网络公司哪家好
  • 腾讯网站建设专家北京网站首页排名公司
  • 宝安网站建设多少钱中山网站外包
  • 新网站如何做百度百科牡丹江市建设工程交易中心网站
  • 意识形态建设专题网站最新的电商平台
  • 售卖网站建设实验报告高端室内设计公司起名
  • 网站开发实例及研究国内做外单的网站有哪些
  • 申请个人网站和企业官网有什么不同wordpress注册报名
  • linux网站服务器搭建数据分析软件哪个最好用
  • 网站大图做多大尺寸做网站的公司金坛
  • 专题文档dede企业网站建设免费的微商城平台
  • 电商类网站开发项目流程兰州网站设计公司哪家最好
  • 网站开发及维护合同移动网站自助制作
  • 网站优化招商如何做资源论坛网站