伯牙绝弦少冰少糖是你的武器吗 Wanna touch your body all night投我那够一加那 那咪加那 内呢gin 木漏 打啦哇Put you on my back seat Back seat Back seat uh woo uh 一gi不露 内泼料多 You don't have to fight 不哥漏我哈几马 Put you on my back seat Back seat Back seat Now let's get it on on my back seat

我狗头发都这么长了 你不染不卷什么意思[微笑]不变发型是你的武器吗 投我那一够 加那 那加咪 那 内呢gin 木漏 打啦哇Put you on my back seatBack seat Back seat uh woo uh 一gi不露 内泼You don't have to fight 不漏哥 我哈几马Put you on my back seat Back seat Back seatNow let's get it on on my back seat

【每天一道算法题(75/150)】LRU 缓存
思路:一道中等写一下午

首先,LRU 是最近最少使用算法,也被称为页面置换算法。是怎么实现的呢。给每一个页面一个访问字段,记为 T,T 为这个页面自上次被访问以来所经历的时间。当必须要淘汰一个页面时,找出所有 T 中最大的,即最少使用的那个页面淘汰。

其次,题目要求所实现的 LRU 算法的类(后文简称 cache)的 get 和 put 方法的时间复杂度为 o(1)。

那么问题来了,get 还好说,map 的 get 方法时间复杂度本身就为 o(1),put 方法难在需要:

1. 先找到最大的 T
2. 将新的 key, value 放入 cache

那么无论是哈希表,还是链表,双向链表,有序链表及有序双向链表都无法做到时间复杂度为 0(1),除非

哈希表 + 双向链表。

下面操作步骤讲讲双向链表的 get 方法:

操作步骤:
put [1,1]
put[2,2]
get[1]

初始化双向链表为:
head <-> tail

第一步:put [1,1]
head <-> (1,1) <-> tail

第二步:put [2,2]
head <-> (2,2) <-> (1,1) <-> tail

第三步:get [1]

a. 先通过哈希表找到链表所在位置,返回 node
b. 在链表中将 [1,1] 移除
此时链表状态:head <-> (2,2) <-> tail
c. 在链表中将 [1,1] 插入到链表头部
此时链表状态:had <-> (1,1) <-> (2,2) <-> tail

返回 node.val = 1;

经过上述操作,把 get 的 Key 的 value 返回了,链表也更新了,保证了最新使用节点(页面)的在最前面(链表头部)。


发布     👍 0 举报 写留言 🖊   
✋热门推荐
  • 当你真心诚意的告诉别人“不好意思,不可以”迈开这一步,你就会发现,原来拒绝是如此的快乐。4、人生最大的荒唐,就是在烂人、烂事上纠缠,它能耗光你所有的正能量。
  • 他们若感觉我改配乐是想彰显我的配乐比他们好,那也是情理之中、人之常情,当时因为上面提到的一些因素也使得我没怎么去换位思考,因为我觉得反正我也无法和他们见面,那些
  • 成年人的心动真的太可怕,明知道对方都有家庭,却像着魔般动情。 暧昧的诱惑,爱情的回忆 成年人的生活中,婚姻问题并不总是导致心动的原因。有时候,即使我们都在有一
  • 2022年,Garrett Saracho 才和Ali Shaheed Muhammad、Adrian Younge 录制了第二张专辑。【Garrett Sar
  • 【#正观漫读#丨时光很美,我们也很美】任世事纷繁,复杂多变,安静地做最好的自己在清风朗月下,泡一壶清茶,滤去内心繁杂,以内心的安静,抵御人生的嘈杂与烦恼。喜欢这
  • モグラ叩きこいつらごきぶりはこうやって死ぬまで終わらないモグラ叩きの永久運動に俺を巻き込んで俺の貴重な時間をさらに浪費させる気まんまんなわけよ。こいつらごきぶり
  • 也不知道在原来的世界里,她是不是已经死了,家里人一定很伤心难过吧。也不知道在原来的世界里,她是不是已经死了,家里人一定很伤心难过吧。
  • #白鹿##白鹿北上# #白鹿白月梵星##粉丝为白鹿布置情人节上班路# Chúng ta đều là lãng tử hồng trần, cũng từng
  • #邯郸头条# 近日,小编路过河北省邯郸市广平县大牙线附近马虎庄村,看到“神奇”的一幕,电线在路边线皮脱落,竟无人问津,难道国庆假期没有值班人员,还是出现离岗,或
  • 假如现在与林瑞阳离婚,她是否还能过现在这般奢侈的生活也是个问题,这也是她为何会与小三小四姐妹相称的原因,她本不想让外界知道她们之间的关系,但这次小三做的太过分才
  • 处女座——“下次我不插手”处女座的男生太喜欢追求完美,他们想把每件事情都做好,所以他们对女友也是很挑剔的,可是他们要是说出这句话,其实是不轻信的,他们下次还会给
  • 1.马儿快跑kkkk,宝啊,你哥要气死了2.心疼哥哥的懂事小孩,虽然逗哥哥,但更爱哥哥,好乖好乖的小孩3.阿珍觉得我宝安静待着的时候很奇怪,这就是孩子静悄悄必定
  • #呼铁资讯# 包头西车辆段以雪为令,及时清理固化路径及脱轨器周边积雪,作业时通过延长吹尘时间、增加排污频次来减少风源对列车质量的影响,对配件被冰雪覆盖难以研判的
  • #刘宇宁演唱大理寺少卿游主题曲# 9⃝ #刘宇宁珠帘玉幕# 2⃝ #摩登兄弟[超话]# 刘宇宁宁远舟0⃝ 刘宇宁燕子京 那年今天₊ - ⁺@摩登兄弟刘宇宁 /
  • 鼻子赵丽颖的鼻子也可以说是完美无缺的,鼻额角为120°,鼻翼角也为120°,鼻唇角约为100°,这些数据都可以有效增加圆脸的气场,使面部更加丰富。眼部赵丽颖的眼
  • 对于常规的血痕、口腔拭子等样本,从提取DNA, PCR扩增, 上机检测分析不间断进行,所需时间只要16个小时左右,如果确实是客户急需,或者破案需要,可以第一天早
  • 7️⃣ 水贝国际中心 地址:罗湖区贝丽北路99号 交通:地铁3号线水贝站B口370米 艺术与时尚的碰撞,带你领略不一样的珠宝之美! 4️⃣ 水贝国际珠
  • 【#英伟达第四季度营收大增265%##美联储称要对降息保持警惕#】美国时间周三,美联储公布了1月货币政策会议纪要,称联储官员总体认为,美国通胀风险在降低,但对未
  • 可现实是我把言明彰甩了,摆明了我不在意他和谁在一起,童轻颜怎么还要时不时来嘚瑟?穷且益坚,不坠青云之志一旦不能有,输来其间一旦不能有,输来其间虽趣舍万殊,静躁
  • ”姬考笑得更深了,给他掖好被角一点凉风都不让进:“好小崇,哥哥去给你灌个汤婆子暖暖,一会就回来了,安心睡吧。反正疼了崇应彪就忍着,也不敢让人知道,怕别人说这么娇