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

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

题目描述

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

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

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

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

输入描述

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

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

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

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

输出描述

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

用例

http://www.lryc.cn/news/357733.html

相关文章:

  • AI预测福彩3D采取888=3策略+和值012路一缩定乾坤测试5月29日预测第5弹
  • 03_前端三大件CSS
  • 十种常用数据分析模型
  • salesforce 公式字段 判断一个字段是否在某个多选列表中
  • C++STL容器系列(三)list的详细用法和底层实现
  • IEEE Latex模版踩雷避坑指南
  • 【C++】类与对象——多态详解
  • WordPress建网站公司 建易WordPress建站
  • MySQL正则替换整个单词
  • Java设计模式:享元模式实现高效对象共享与内存优化(十一)
  • 景源畅信电商:抖音开店步骤是什么?
  • Notepad++不显示CRLF的方法
  • 前端开发工程师——AngularJS
  • 【AI算法岗面试八股面经【超全整理】——概率论】
  • vue3 使用vant
  • 网络请求客户端WebClient的使用
  • unity制作app(9)--拍照 相册 上传照片
  • 【busybox记录】【shell指令】mkfifo
  • 使用Jmeter进行性能测试的基本操作方法
  • Linux学习笔记(epoll,IO多路复用)
  • STM32定时器及输出PWM完成呼吸灯
  • 海外仓管理系统费用解析:如何选择高性价比的海外仓系统
  • 深度学习之学习率调度器Scheduler介绍
  • 蓝桥杯-AB路线(详细原创)
  • 计算机字符编码的发展
  • Java(六)——抽象类与接口
  • 【4.vi编辑器使用(下)】
  • 【数据结构】探索树中的奇妙世界
  • 搭建YOLOv10环境 训练+推理+模型评估
  • c++(一)