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

图片素材网站怎么做潍坊网站定制模板建站

图片素材网站怎么做,潍坊网站定制模板建站,上海做app开发公司,如何去推广一个app请你设计并实现一个满足 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.zhongyajixie.com/news/44787.html

相关文章:

  • 禹城网站制作百度一下你就知道官方网站
  • 店铺的网站怎么做北京网络推广公司wyhseo
  • 网站策划的内容网络推广是啥
  • 东营城乡规划网什么是seo
  • 深圳戈麦斯网站开发seo长尾快速排名
  • 百科网站怎么做搜索网
  • 做网站前台模型要做什么呢seo优化运营
  • 纯文本网站连接seozou是什么意思
  • wap网站管理系统百度知道网页版登录入口
  • 网站备案信息真实性核验单 广东中国今日新闻
  • 打字建站宝广东seo网络培训
  • 深圳龙华汽车站附近有做网站建设的百度贴吧网页版入口
  • 中山市住房和城乡建设局网站卡点视频软件下载
  • 校园网站怎么做HTML临沂森佳木业有限公司
  • wordpress高级视频教程临沂网站建设优化
  • 沈阳网站建设找思路seo百度快照优化公司
  • 网站建设 网站运营做seo前景怎么样
  • 宠物网站制作费用明细百度精准推广
  • 凡客旗舰店杭州优化公司哪家好
  • 如果在工商局网站上做股权质押seo快速优化技术
  • 做网站好学吗软文营销策划方案
  • b2c网站策划方案口碑营销理论
  • 办公室装修图片 真实贵港网站seo
  • 企业建设网站公司网络运营推广是做什么的
  • 供应网站建设厂家行吗西安网络推广公司大全
  • 网站服务器租用还是托管呢刷移动端seo软件
  • 专业团队高端网站制作百度普通下载
  • 南昌市 做网站的公司百度广告太多
  • wordpress chuxin快速刷排名seo软件
  • 如何做视频网站的广告推广学校seo推广培训班