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

华为校招机试 - LRU模拟(20240515)

题目描述

LRU(Least Recently Used)缓存算法是一种常用于管理缓存的策略,其目标是保留最近使用过的数据,而淘汰最久未被使用的数据。

实现简单的LRU缓存算法,支持查询、插入、删除操作。

最久未被使用定义:查询、插入和删除操作均为一次访问操作,每个元素均有一个最后一次被访问时间,按照最后一次被访问时间排序,时间最早的即为最久未使用。

插入操作:当缓存中已经存在,则刷新值,不存在,则插入,如果超过上限,则淘汰最久未被使用的元素。

输入描述

第一行两个数 N 和 K,分别表示缓存内最多可以存放页数,以及操作序列中的总操作数。

  • N 的范围 [1,100]
  • K 的范围是 [1,10000]

第二至第 K+1 行,每行两个输入,两个输入用空格分隔。

  • 第一个输入是一个字符:A表示插入,Q表示查询,D表示删除。
  • 第二个输入是一个整数,表示一个页面的编号。编号范围:[1,100000]。

输出描述

输出一行,表示缓存内各页面的编号,按照从小到大排序。

用例

相关文章:

  • mysql中InnoDB的统计数据
  • oracle tree
  • 数据网络理论基础 第六章 流量和拥塞控制
  • Rabbitmq 搭建使用案例 [附源码]
  • C语言面试题1-10
  • 油烟净化器清新餐饮生活,助力打造绿色餐饮
  • 【渗透测试】|文件上传
  • 动态规划part03 Day43
  • 网络请求客户端WebClient的使用
  • 【Linux】Socket中的心跳机制(心跳包)
  • C语言数据结构堆排序、向上调整和向下调整的时间复杂度的计算、TopK问题等的介绍
  • redis数据类型之Hash,Bitmaps
  • P3128 [USACO15DEC] Max Flow P题解(树上差分,最近公共祖先,图论)
  • HDR视频相关标准-HDR vivid(二)
  • WordPress外贸网站建设的成功要素与技术点
  • 摩尔线程MTT S4000 AI GPU助力30亿参数大模型训练,性能比肩英伟达同类解决方案
  • Go语言GoFly框架快速新增接口/上手写代码
  • 23种设计模式之一— — — —装饰模式详细介绍与讲解
  • Java final关键字
  • AI在肿瘤学临床决策中的应用:一种多模态方法
  • 朝鲜派兵库尔斯克是否有助于解决乌克兰危机?外交部回应
  • 国家发改委答澎湃:将指导限购城市针对长期摇号家庭和无车家庭等重点群体定向增发购车指标
  • 我国核电总体规模首次跃居世界第一,发电量持续增长
  • 俄联邦安全局:俄军高级官员汽车爆炸案嫌疑人已被捕
  • 新华时评·首季中国经济观察丨用好用足更加积极的财政政策
  • 泰山景区管委会:未经审核同意不得擅自举办竞速类登山活动