首页
比赛
tracker
题库
课程
竞赛讨论区
登录
/
注册
去牛客
首页
>
设计LRU缓存结构
114条解析
开通博客写题解
牛客题解官
发表于 2022-04-22 13:12:36
题目的主要信息: 实现LRU缓存的模拟结构,包括加入函数set,访问函数get 结构有长度限制,加入新数时,超出长度则需要删除最不常访问的,其中set与get都访问 两个函数都是O(1)O(1)O(1) 举一反三: 学习完本题的思路你可以解决如下题目: BM101. 设计LFU缓存结构 方法:哈
展开全文
枫火蓮天
发表于 2022-03-23 14:57:01
思路: 用 LinkedHashMap 可以很容易实现 LRU 缓存,不过面试的时候估计这样不好,还是尽量自己实现数据结构吧🤣 主要想法是使用 JDK 提供的 HashMap,然后自己写一个 Node 节点类,用来保存 value ,并且通过这个 Node 里面的 prev、next
展开全文
城南亦南
发表于 2022-03-18 10:04:11
import java.util.*; public class Solution { Map<Integer, Integer> map; int capacity; public Solution(int capacity) { this.
展开全文
moenya
发表于 2022-04-13 16:54:37
用一个双向链表,哈希表存key以及双向链表的迭代器。 当需要插入新的数据项的时候,如果新数据项在链表中存在(一般称为命中),则把该节点移到链表头部,如果不存在,则新建一个节点,放到链表头部,若缓存满了,则把链表最后一个节点删除即可。 在访问数据的时候,如果数据项在链表中存在,则把该节点移到链表头部,
展开全文
不想看论文
发表于 2022-04-30 11:20:24
方法一在leetcode上是可以通过的,在牛客通过不了,可以学习下。 方法一:利用LinkedHashMap public class Solution extends LinkedHashMap<Integer, Integer>{ private int ca
展开全文
不知道叫啥521
发表于 2022-04-05 20:33:46
一个HASH表,一个双链表,Python实现方案 图片引用自:https://www.cnblogs.com/wei57960/p/13191109.html get操作直接通过HASH得到值 set操作有三种情况: 1.当元素在hash中: 直接修改节点值,并提升到最前面 2.当容量充足: 创建
展开全文
chen_jun_99
发表于 2022-04-03 15:50:32
双链表+哈希表 链表节点中要存储key值,是为了删除时方便更新哈希表 struct Node { int key; int val; &nbs
展开全文
JZZZZZZZZZZZ
发表于 2022-03-21 17:52:22
这道题本质还是要手写LinkedHashMap。 运用Map是因为get 和set都是O(1),运用双向链表是因为插入和删除都是O(1) 同时还需要维护两个指针,一个指向最近一次掉用的节点,一个指向最久未调用的节点 维护最近一次掉用节点,是为了在
展开全文
substance
发表于 2022-06-25 10:36:44
使用匿名内部类,重写removeEldestEntry(),LinkedHashMap的方式实现一个LRU缓存结构 import java.util.*; public class Solution { public LinkedHashMap<Integer,Integer&
展开全文
备战ODing
发表于 2022-03-17 22:18:51
JS的map实现 /** * @param {number} capacity */ var Solution = function(capacity) { this.max = capacity; this.m
展开全文
留言而你却
发表于 2022-06-03 17:14:20
import java.util.LinkedHashMap; import java.util.Map; public class Solution { private final LinkedHashMap<Integer, Integer> cache; pub
展开全文
查看本题
查看本题讨论
相关比赛
129187-面试突击高频题目
进入比赛
133583-鸿理信安
进入比赛
等你来战
查看全部
牛客练习赛152
报名截止时间:2026-04-24 21:30
华中地区高校第十九届程序设计邀请赛(同步赛)
报名截止时间:2026-04-25 16:00
2026年ICPC新疆维吾尔自治区大学生程序设计竞赛
报名截止时间:2026-04-16 10:00
牛客周赛 Round 141
报名截止时间:2026-04-26 21:00
2026牛客五一集训派对day1
报名截止时间:2026-05-01 17:00
哈尔滨华德学院第十七届程序设计竞赛(同步赛)
报名截止时间:2026-05-12 17:00
汤圆头 Round 1
报名截止时间:2026-07-06 17:00
扫描二维码,关注牛客
意见反馈
下载牛客APP,随时随地刷题