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

146.设计算法实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构

146.设计算法实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构

题目

146.请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。

实现 LRUCache 类:

LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存
int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。
void put(int key, int value) 如果关键字 key 已经存在,则变更其数据值 value ;如果不存在,则向缓存中插入该组 key-value 。如果插入操作导致关键字数量超过 capacity ,则应该 逐出 最久未使用的关键字。
函数 get 和 put 必须以 O(1) 的平均时间复杂度运行。

示例:

输入

["LRUCache", "put", "put", "get", "put", "get", "put", "get", "

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • [python]socket之网络编程基础知识
  • 【conda】完整指南:如何配置 Conda 环境与镜像源
  • 如何用python计算销量(openpyxl模块的实际应用)
  • Django 使用Apscheduler执行定时任务
  • 大数据-118 - Flink DataSet 基本介绍 核心特性 创建、转换、输出等
  • 在BrowserStack上进行自动化爬虫测试的终极指南
  • Java项目: 基于SpringBoot+mysql高校心理教育辅导管理系统分前后台(含源码+数据库+开题报告+毕业论文)
  • 关于edge浏览器登陆CSDN安全验证不跳出验证码
  • Linux--基础知识点--0--面试
  • C++11(1)
  • 力扣刷题(4)
  • 日系编曲:日系架子鼓写作思路 支点音符 幽灵音 抢拍(重音移位)半速与倍速
  • Kotlin 范型之协变、逆变、不变
  • Springboot-文件的上传和下载
  • 解析 MySQL 数据库的 Python 接口:`mysqlclient` 与 `django-mysql` 实战指南20240904
  • 【前端学习】-粗谈选择器
  • C++11: atomic 头文件
  • canvas 绘制双线技巧
  • ES6 学习笔记(一)let,const和解构赋值
  • ES学习笔记(12)--Symbol
  • extjs4学习之配置
  • HTTP中GET与POST的区别 99%的错误认识
  • JavaScript 基础知识 - 入门篇(一)
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • JavaScript-Array类型
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • Next.js之基础概念(二)
  • Node + FFmpeg 实现Canvas动画导出视频
  • overflow: hidden IE7无效
  • storm drpc实例
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 解析 Webpack中import、require、按需加载的执行过程
  • 免费小说阅读小程序
  • 前端知识点整理(待续)
  • 微信开放平台全网发布【失败】的几点排查方法
  • 我的面试准备过程--容器(更新中)
  • 移动端 h5开发相关内容总结(三)
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • 在GitHub多个账号上使用不同的SSH的配置方法
  • k8s使用glusterfs实现动态持久化存储
  • 仓管云——企业云erp功能有哪些?
  • ​​​​​​​sokit v1.3抓手机应用socket数据包: Socket是传输控制层协议,WebSocket是应用层协议。
  • ​低代码平台的核心价值与优势
  • ​数据结构之初始二叉树(3)
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • #{}和${}的区别是什么 -- java面试
  • #NOIP 2014# day.2 T2 寻找道路
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (52)只出现一次的数字III
  • (Redis使用系列) Springboot 使用Redis+Session实现Session共享 ,简单的单点登录 五
  • (顶刊)一个基于分类代理模型的超多目标优化算法
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (七)Appdesigner-初步入门及常用组件的使用方法说明
  • (三) diretfbrc详解
  • (十一)手动添加用户和文件的特殊权限