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

广州网站制作公司 番禺成都高新区规划国土建设局网站

广州网站制作公司 番禺,成都高新区规划国土建设局网站,室内设计效果图排版,口碑营销是指leetcode 146 思路 什么是LRU缓存? LRU(Least Recently Used)缓存是一种常见的缓存淘汰策略,核心思想是:当缓存容量满时,优先淘汰最久未使用的数据。LeetCode 146 题要求实现一个支持get和put操作的 LR…

leetcode 146
在这里插入图片描述

思路

什么是LRU缓存?

LRU(Least Recently Used)缓存是一种常见的缓存淘汰策略,核心思想是:当缓存容量满时,优先淘汰最久未使用的数据。LeetCode 146 题要求实现一个支持get和put操作的 LRU 缓存,且操作时间复杂度需为 O (1)

核心思路

在 JavaScript 中,Map对象天然具备键值对插入顺序保留的特性,且map.keys().next().value可获取最早插入的键(最久未使用)。利用这一点,可很好实现删除最久未使用数据的功能

  • 访问顺序维护:每次访问键时,通过delete+set将其移到 Map 末尾(表示最近使用)
  • 淘汰策略:容量满时,删除 Map 的第一个键(最早插入的键)
关键操作解析
  1. get(key)操作
    • 若键存在,通过delete+set将其重新插入 Map,使其成为最新访问的键
    • 原理:Map 会保留键的插入顺序,重新插入相当于将键移到末尾
  2. put(key, val)操作
    • 若键已存在,同样通过delete+set更新值并刷新顺序。
    • 若键不存在且容量满,通过map.keys().next().value获取最早插入的键(最久未使用)并删除,再插入新键

时间复杂度:O(1) 空间复杂度: O(capacity)

实现

class LRUCache {constructor(capacity) {this.capacity = capacity;this.cacheMap = new Map();}get(key) {const isExit = this.cacheMap.has(key);if (isExit) {const val = this.cacheMap.get(key);this.cacheMap.delete(key);this.cacheMap.set(key, val);return val;}return -1;}put(key, val) {const isExit = this.cacheMap.has(key);if (isExit) {this.cacheMap.delete(key)this.cacheMap.set(key, val)} else {if (this.capacity <= this.cacheMap.size) {// 超出缓存容量,删除最久未使用的keyconst first = this.cacheMap.keys().next().value;this.cacheMap.delete(first)}this.cacheMap.set(key, val)}}
}
http://www.yayakq.cn/news/624835/

相关文章:

  • 织梦网站产品做网站要和企业logo
  • 企业建站系统信息wordpress 页脚插件
  • 电子商务网站建设 asp茂名免费自助建站模板
  • 建设平面设计工作室网站方案十大互联网广告公司
  • 一个上线的网站需要怎么做搜索指数的数据来源
  • 个人网站建设发布信息衣柜东莞网站建设技术支持
  • 广州做外贸网站的公司简介公众号软文怎么写
  • 优秀的网站建设策划书青海网站如何建设
  • 小说网站开发数据库网站开发有什么注意的
  • html 网站建设中模板python菜鸟教程官网
  • 手机版网站如何做国家企业信用信息网
  • 杭州营销型网站怎么做pc网站设计哪家公司好
  • 做婚庆网站的功能定位淘宝联盟的网站管理怎么做
  • 商务网站建设的步骤图书馆网站参考咨询建设
  • 吧台 东莞网站建设做网站大家都找谁
  • wordpress怎么换图标苏州网站优化维护
  • 做汤的网站花多少钱能把网站做到页面
  • 网站作品怎么做做环卫车怎么做网站
  • 做柜子比较好看的网站网站企业建站
  • 交河做网站价格kn95口罩
  • 工程建设举报网有哪些网站医院网站建设论证报告
  • 上海注册公司流程及费用百度seo快速排名优化
  • 做网站都是花钱吗设计主题网站
  • 上海网站备案网站全国政务网站哪家做的好
  • 玉林市建设工程交易中心网站管理系统中计算机应用实践考试
  • 圣诞网站怎么做市场调研报告范文大全
  • 鞍山网站制作小程序网站做宣传域名什么好
  • 制作网页的网站费用属于资本性支出吗网站建设课程设计心得体会
  • 用php做注册网站的代码wordpress添加版块
  • 网站群发软件做网站设计电脑买什么高端本好