华为校招机试 - 最久最少使用缓存(20240508)

题目描述

无线通信移动性需要在基站上配置邻区(本端基站的小区 LocalCell 与周边邻基站的小区 NeighborCelI 映射)关系,

为了能够加速无线算法的计算效率,设计一个邻区关系缓存表,用于快速的通过本小区 LocalCell 查询到邻小区 NeighborCell。

但是缓存表有一定的规格限制,因此到达规格并且需要插入新的数据时,需要删除邻区数据,选择删除邻区数据对象的策略为:

  • 1) 使用次数最少的
  • 2) 如果 1) 返回有多个对象,则选择最久未使用的

请设计并实现一个满足以上要求的数据结构和算法实现。

注:假设每个 LocalCell 至多只有一个 NeighborCell

输入描述

  • 首行以字符 "capacity:" 标识设置一个整数容量
  •  以 "write:" 标识开始进行若干组 [LocalCell,NeighborCell] 邻区数据的输入,每组数据为一行;如果 "write:" 已经存在的 LocalCell 数据,更新其对应的 NeighborCell,并刷新使用时间和次数加 1;如果某邻区数据被删除,缓存表不再保留其记录
  •  以 "read:" 标识进行一次读取 LocalCell 的使用操作,刷新使用时间和次数加 1
  •  最后以 "query:" 标识查询输出操作,输入正整数 LocalCell,查询 NeighborCell

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/14578.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

代码随想录-Day07

454. 四数相加 II 给你四个整数数组 nums1、nums2、nums3 和 nums4 &#xff0c;数组长度都是 n &#xff0c;请你计算有多少个元组 (i, j, k, l) 能满足&#xff1a; 0 < i, j, k, l < n nums1[i] nums2[j] nums3[k] nums4[l] 0 示例 1&#xff1a; 输入&#x…

系统磁盘高级管理、lvm例子、创建pv、创建VG、创建lv、磁盘扩展

LVM&#xff1a; 逻辑卷&#xff0c;动态调整分区大小&#xff0c;扩展性好 创建pv pvcreate &#xff1a; 将实体 partition 创建成为 PV &#xff1b; pvscan &#xff1a; 搜寻目前系统里面任何具有 PV 的磁盘&#xff1b; pvdisplay &#xff1a; 显示出目前系统上面…

GNSS仿真测试之三种常用坐标系与转换

作者介绍 在当今的全球导航卫星系统&#xff08;GNSS&#xff09;技术领域&#xff0c;仿真测试是评估和验证GNSS接收机性能的关键环节&#xff0c;全球导航卫星系统&#xff08;GNSS&#xff09;仿真测试是确保GNSS接收机和导航解决方案在实际部署前能够正确、可靠地工作的关键…

【git】学习记录: 贮藏功能

Git 贮藏修改是一种临时存储工作目录中已经修改但尚未提交的更改的机制。通过贮藏修改&#xff0c;你可以将当前的工作目录状态保存起来&#xff0c;以便你可以在之后的时间点重新应用这些更改&#xff0c;或者在不同的分支间切换时避免冲突。 要使用 Git 贮藏修改&#xff0c…

Linux(centos)常用命令

Linux&#xff08;Centos&#xff09;常用命令使用说明文档 切换到/home目录下 使用cd命令切换目录&#xff0c;例如&#xff1a; cd /home列出/home目录下的所有文件 使用ls命令列出目录下的文件和子目录&#xff0c;例如&#xff1a; ls /home新建目录dir1 使用mkdir命…

头歌OpenGauss数据库-I.复杂查询第1关:获取前N名成绩

本关任务&#xff1a;编写函数来实现获取前N名成绩的方法。 提示&#xff1a;前面的实验没有提供编写自定义函数的示例&#xff0c;需要参考OpenGauss数据库文档学习自定义函数的使用。 score表内容如下&#xff1a; IdScore13.5223.6534.2343.8554.2363.65 --#请在BEGIN - END…

python windows 开发.exe程序笔记

import win32api import win32gui import win32con import time import tkinter as tk## pyinstaller --onefile t4.py 将python 代码打包为windows可执行文件 .exe ## airtext 大漠 def clickGoogle():hw win32gui.FindWindow("Chrome_WidgetWin_1", "新标…

解决Redis 缓存雪崩(过期时间不一致) 和 缓存穿透(黑名单)

解决Redis 缓存雪崩&#xff08;过期时间不一致&#xff09; 和 缓存穿透&#xff08;黑名单&#xff09; public Product getdetailById(Integer id) {String key "product." id;// 查询黑名单中是否有该keyBoolean b hashOperations.hasKey(PROODUCT_DETAIL_B…

算法 Hw7

Hw 7 Graph Algorithm 1 Edge detection2 Reachability3 Bitonic shortest paths 1 Edge detection 由 Cut Property 可知&#xff1a;如果 e 是从某个集合 S 到补集 V−S 的开销最小的边&#xff0c;则 e 一定所有最小生成树中。 由 Cycle Property 可知&#xff1a;如果 e 是…

Gradle常见问题及总结

使用android studio开发项目&#xff0c;难免遇到gradle相关的错误&#xff0c;在此总结。 gradle插件与gradle home版本关系错误 参考更新 Gradle Gradle下载太慢 Index of /gradle/ (tencent.com) 是国内下载地址,手动下载对应版本即可 缓存不刷新 问题描述 maven发布…

jenkins插件之xunit

分析测试工具执行的结果&#xff0c;并图形化&#xff0c;比如phpunit&#xff0c;phpstan,可分析junit格式的结果 安装jenkins插件 搜索xunit并安装 项目配置 配置 - Build Steps 您的项目 - 配置 - Build Steps, 新增 Run with timeout 超时时间根据实际情况配置 Build…

Day38 贪心算法part05

LC435无重叠区间(未掌握) 思路&#xff1a;先对数组进行排序&#xff0c;找到非重叠的区间的个数&#xff0c;然后区间的总数减去非重叠区间的个数即是需要移除的区间的个数与LC452用最少数量的箭引爆气球类似&#xff0c;但是不同的是[1,2]和[2,3]在此题并不是重叠区间但是在…

oracle怎么处理json格式

向数据库导入json相关jar包 loadjava -r -f -u bsuser/XXXX192.168.10.31/bsorcl json.jar 要删除的话&#xff0c;删除指定jar dropjava -u bsuser/XXXX192.168.10.31/bsorcl json.jar select * from user_java_classes 然后我们就可以取到json串中任意节点的值

Linux完整版命令大全(四)

2. linux系统设置命令 alias 功能说明&#xff1a;设置指令的别名。语  法&#xff1a;alias[别名][指令名称]补充说明&#xff1a;用户可利用alias&#xff0c;自定指令的别名。若仅输入alias&#xff0c;则可列出目前所有的别名设置。 alias的效力仅及于该次登入的操作。…

行列视(RCV)部署在互联网还是部署在企业内部?

行列视&#xff08;RCV&#xff09;的部署方式可以根据企业的具体需求和情况来灵活选择。它既可以部署在互联网上&#xff0c;也可以部署在企业内部。 对于希望实现远程访问、多地点协同工作或者与第三方服务集成等需求的企业&#xff0c;可以选择将行列视&#xff08;RCV&…

Postgresql源码(129)JIT函数中如何使用PG的类型llvmjit_types

0 总结 llvmjit_types文件分三部分 类型定义&#xff1a;llvm通过变量找到对应结构体的定义&#xff0c;在通过结构体内的偏移量宏使用成员变量。模版函数定义&#xff1a; 第一&#xff1a;AttributeTemplate被当做一个函数属性的模板&#xff08;例如nofree、nosync等clang…

SpringBoot项目中redis序列化和反序列化LocalDateTime失败

实体类中包含了LocalDateTime 类型的属性&#xff0c;把实体类数据存入Redis后变成这样&#xff1a; 此时&#xff0c;存入redis不会报错&#xff0c;但是从redis获取的时候&#xff0c;会报错&#xff1a; com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Ca…

Springboot项目打包:将依赖的jar包输出到指定目录

场景 公司要对springboot项目依赖的jar包进行升级&#xff0c;但是遇到一个问题&#xff0c;项目打包之后&#xff0c;没办法看到他里面依赖的jar包&#xff0c;版本到底是不是升上去了&#xff0c;没办法看到。 下面是项目打的jar包 我们通过反编译工具jdgui&#xff0c;来…

VUE3和VUE2

VUE3和VUE2 上一篇文章中&#xff0c;我们对VUE3进行了一个初步的认识了解&#xff0c;本篇文章我们来进一步学习一下&#xff0c;顺便看一下VUE2的写法VUE3是否能做到兼容&#x1f600;。 一、新建组件 我们在components中新建一个组件&#xff0c;名称为Peron&#xff0c;…

缓存降级

当Redis缓存出现问题或者无法正常工作时,需要有一种应对措施,避免直接访问数据库而导致整个系统瘫痪。缓存降级就是这样一种机制。 主要的缓存降级策略包括: 本地缓存降级 当Redis缓存不可用时,可以先尝试使用本地进程内缓存,如Guava Cache或Caffeine等。这样可以减少对Redis…