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

大连建网站/蜂蜜网络营销推广方案

大连建网站,蜂蜜网络营销推广方案,移动论坛网站模板,社科院网站建设1.题目描述 2.思路 方法1:直接用Python封装好的数据结构OrderedDict(兼具哈希表与双向链表的数据结构)。 方法2:哈希表辅以双向链表。 3.代码(Python3) 方法1: class LRUCache(collections…

1.题目描述

2.思路

方法1:直接用Python封装好的数据结构OrderedDict(兼具哈希表与双向链表的数据结构)。

方法2:哈希表辅以双向链表。

3.代码(Python3)

方法1:

class LRUCache(collections.OrderedDict):def __init__(self, capacity: int):super().__init__()self.capacity = capacitydef get(self, key: int) -> int:if key not in self:return -1self.move_to_end(key)return self[key]def put(self, key: int, value: int) -> None:if key in self:self.move_to_end(key)self[key] = valueif len(self) > self.capacity:self.popitem(last=False)

方法2:

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.move_to_head(node)return node.valuedef put(self, key: int, value: int) -> None:print(self.size, self.capacity)if key not in self.cache:node = DLinkedNode(key, value)self.cache[key] = nodeself.add_to_head(node)self.size += 1if self.size > self.capacity:removed = self.remove_tail()self.cache.pop(removed.key)self.size -= 1else:node = self.cache[key]node.value = valueself.move_to_head(node)def add_to_head(self, node):node.prev = self.headnode.next = self.head.nextself.head.next.prev = nodeself.head.next = nodedef remove_node(self, node):node.prev.next = node.nextnode.next.prev = node.prevdef move_to_head(self, node):self.remove_node(node)self.add_to_head(node)def remove_tail(self):node = self.tail.prevself.remove_node(node)return node

4.执行情况

方法1:

方法2:

5.感想

这两个方法都是官方题解给的,我第一次接触这种LRU的题,没能想出来解决办法。

http://www.whsansanxincailiao.cn/news/31969092.html

相关文章:

  • 宁波网站建设明细报价/亚马逊alexa
  • 六安做网站多少钱/自己怎么做网页
  • 衡阳建设企业网站/注册网站流程
  • 衡阳网站推广排名/招商外包公司
  • 找工程哪个平台最可靠/广州seo推广运营专员
  • 成都定制网站设/seo排名关键词
  • 昆山科技网站建设/中国十大企业管理培训机构
  • 方庄网站建设公司/百度搜索提交入口
  • 成安网站建设/seo是什么部门
  • wordpress数据库用户角色/seo百度关键字优化
  • 昆山网站建设哪家便宜/seo信息网
  • 阿里巴巴网站建设基本内容/手机创建网站免费注册
  • 交互式网站备案难吗/短视频营销的发展趋势
  • 成都 企业 网站制作/成都seo优化
  • 制作网站副本/微信推广多少钱一次
  • 作业做哪些类型的网站/今日头条新闻推荐
  • 石家庄新钥匙网站/免费获客平台
  • 外贸网站建设广州/设计网站官网
  • 西安做网站设计公司/百度知道登录
  • 建站优化收费/seo建站公司
  • 有哪些做网站的品牌/百度手机版下载
  • 太原规划网站/google图片搜索
  • 卫生监督 网站建设方案/百度营销后台
  • 网站设计培训学校有哪些/企业网站seo点击软件
  • 网站建设丶金手指a排名15/苏州seo关键词优化排名
  • 电脑公司网站设计/seo和sem哪个工资高
  • 达濠网红景点/北京网站快速排名优化
  • 有关建设工程的强制性标准与抗震/学seo建网站
  • 北京seo优化/搜索引擎优化常用方法
  • 天猫网站是用什么技术做的/实事新闻热点