千家信息网

Lintcode24 LFU Cache solution 题解

发表于:2024-11-19 作者:千家信息网编辑
千家信息网最后更新 2024年11月19日,【题目描述】LFU (Least Frequently Used) is a famous cache eviction algorithm.For a cache with capacity k,
千家信息网最后更新 2024年11月19日Lintcode24 LFU Cache solution 题解

【题目描述】

LFU (Least Frequently Used) is a famous cache eviction algorithm.For a cache with capacity k, if the cache is full and need to evict a key in it, the key with the lease frequently used will be kicked out.Implement set and get method for LFU cache.

LFU是一个著名的缓存算法。实现LFU中的set 和 get

【题目链接】

http://www.lintcode.com/en/problem/lfu-cache/

【题目解析】

这道题让我们实现一个LRU缓存器,LRU是Least Recently Used的简写,就是最近最少使用的意思。那么这个缓存器主要有两个成员函数,get和set,其中get函数是通过输入key来获得value,如果成功获得后,这对(key, value)升至缓存器中最常用的位置(顶部),如果key不存在,则返回-1。而set函数是插入一对新的(key, value),如果原缓存器中有该key,则需要先删除掉原有的,将新的插入到缓存器的顶部。如果不存在,则直接插入到顶部。若加入新的值后缓存器超过了容量,则需要删掉一个最不常用的值,也就是底部的值。具体实现时我们需要三个私有变量,cap, l和m,其中cap是缓存器的容量大小,l是保存缓存器内容的列表,m是哈希表,保存关键值key和缓存器各项的迭代器之间映射,方便我们以O(1)的时间内找到目标项。

【参考答案】

http://www.jiuzhang.com/solutions/lfu-cache/



缓存 函数 题目 容量 常用 顶部 著名 成功 三个 两个 之间 也就是 位置 关键 内容 变量 大小 就是 底部 意思 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 强交付 互联网科技有限公司 英文检索最常用数据库 手机号网络安全对照检查 网络安全手抄报字少一画 传橙网络技术有限公司 江苏高性能服务器服务商虚拟主机 游戏服务器运营平台却登录不了 湖北服务器电源厂商 服务器上的显示器能不能用 网络安全股是什么意思 廊坊铸企网络技术 朗沃软件开发 侯马市开发区财政网络安全 我想看网络安全手抄报设计完成的 epic假日特卖服务器崩溃 高科网络技术 chfs数据库的数据要如何处理 郑州西瓜软件开发 没有可登录的服务器是什么问题 圆通条码威视系统对服务器的要求 宁波海曙棋牌软件开发 软件开发人力 河北星捷软件开发公司图片 关于部队网络安全标题 浙江无线网络技术 个人隐私信息网络安全 广州贝诺网络技术有限公司介绍 宝德服务器管理口ip 监控服务器地址错误怎么回事 长沙县棋牌软件开发公司
0