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

网站栏目描述快速排名服务平台

网站栏目描述,快速排名服务平台,做H5哪个网站字体漂亮一些,做门窗可以放什么网站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.dtcms.com/wzjs/402724.html

相关文章:

  • 德钦网站建设seo整站优化多少钱
  • 高档网站建设公司itme收录优美图片官网
  • 企业网站找私人做什优化教程网站推广排名
  • 网站开发服务常用的营销策略
  • 163企业邮箱官网济南seo排行榜
  • 企业邮箱下载安装seo工具在线访问
  • 郑州影楼网站建设怎样在百度答题赚钱
  • 免费个人网站模版下载软文自助发布平台系统
  • 跨境电商网站开发技术洛阳网站seo
  • 戈韦思苏州网站建设站长推荐
  • 怎么能加强门户网站建设网站排名优化培训电话
  • 邯郸做网站询安联网络吉林seo推广
  • 阿里云主机建网站如何设计与制作网页
  • 成都成华区建设局官方网站seo网络营销技术
  • 广东省网站建设网站哪个平台推广效果好
  • 显示网站运行时间代码备案查询
  • 网络组建视频高粱seo博客
  • 做任务赚钱的正规网站网站推广技巧
  • 怎么做能上谷歌网站十大看免费行情的软件下载
  • 什么网站做护工惠州seo收费
  • 怎样在赶集微网站做微招聘信息企业快速建站
  • 服装设计网站怎么做uc信息流广告投放
  • 国外精彩网站佛山百度推广公司
  • 房产网站建设方案项目书做网络优化的公司排名
  • 那里做网站最好百度的营销方式有哪些
  • 网站制作论文优帮云快速建站
  • 深圳市九号公告海阳seo排名优化培训
  • 比较好的公司网站网络加速器
  • 下载代码的网站优化关键词排名公司
  • 合江网站建设sem是什么的英文缩写