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

新昌做网站台州制作网站软件

新昌做网站,台州制作网站软件,网页版传奇工作室,中建集团官网一、题目 二、思路 题目要求 O(1) 的平均时间复杂度运行 -> 使用Map空间换时间 Map<Integer, Node>Map 通过 key 直接找到对应节点 getNode(key) -> Node记得只要查过该节点之后就应该把该节点放到最前面 pushFront(Node)put 元素后&#xff0c;在map中添加&…

一、题目在这里插入图片描述

二、思路

  • 题目要求 O(1) 的平均时间复杂度运行 -> 使用Map空间换时间 Map<Integer, Node>
  • Map 通过 key 直接找到对应节点 getNode(key) -> Node
  • 记得只要查过该节点之后就应该把该节点放到最前面 pushFront(Node)
  • put 元素后,在map中添加,记得检查是否超过 capacity,超过则删除在map中的元素,以及在链表中的元素 delete(Node)
  • 这里提到的 pushFront(Node) 和 delete(Node) 都是针对双向队列进行位置移动相关的操作,不涉及 Map。

三、代码

class LRUCache {class Node{int key,val;Node pre, next;Node(int key, int val) {this.key = key;this.val = val;}}Node dummy = new Node(0, 0);int capacity;Map<Integer, Node> map = new HashMap<>();// 初始化双向队列public LRUCache(int capacity) {dummy.pre = dummy;dummy.next = dummy;this.capacity = capacity;}public int get(int key) {// 从 map 中快速获得 nodeNode node = map.get(key);// 不存在返回 -1if (node == null) {return -1;}// 查询到需要遵循LRU的规则将最近查询的放到队首delete(node);pushFront(node);return node.val;}public void put(int key, int value) {Node node = map.get(key);// 已经存在就直接进行更新值,结束 put 方法if (node != null) {// 更新值node.val = value;delete(node);pushFront(node);return ;}// 不存在就新建一个 node,在双向队列和 map 中同时更新node = new Node(key,value);pushFront(node);map.put(key, node);// 更新后检查是否超出容量// 超出容量就删除双向队列中的最后一个节点,同时在 map 中删除if (map.size() > capacity) {Node lastNode = dummy.pre;delete(lastNode);map.remove(lastNode.key);}}// 将 node 放到双向队列队首private void pushFront(Node node) {node.next = dummy.next;node.pre = dummy;dummy.next.pre = node;dummy.next = node;}// 在双向队列中删除 nodeprivate void delete(Node node) {node.pre.next = node.next;node.next.pre = node.pre;}
}/*** Your LRUCache object will be instantiated and called as such:* LRUCache obj = new LRUCache(capacity);* int param_1 = obj.get(key);* obj.put(key,value);*/
http://www.dtcms.com/wzjs/616528.html

相关文章:

  • CP网站开发制作H5网架加工价格
  • 中国建设银行贷款网站网站是新媒体平台吗
  • 什么是网站易用性网站规划的任务
  • 建一个网站需要做什么的做网站商城的小图标软件
  • 网站服务器排名网站每年都要续费吗
  • 深圳国外网站设计做简易网站的APP
  • 邵阳网站建设设计英文网站建设60
  • 网上商城网站系统第三方小程序商店
  • 长沙做网站改版费用建站公司排名前十名
  • 考生登录贵州省住房和城乡建设厅网站免费申请网站com域名
  • 凡科网站做的好不好会计公司
  • 拟定一个物流网站的建设方案网站制作分工
  • 个人 可以做社交网站重庆市建设工程信息网官网查询入口
  • 好的排版设计网站点餐系统微信小程序
  • 网站建设公司固定ip网站建设毕业设计论文
  • 安阳网站建设推广优化监控网站模版
  • 现在有什么网站做设计或编程兼职网站图片alt属性
  • 筹划建设智慧海洋门户网站北京网站建设找华网天下
  • 备案后修改网站内容wordpress模块怎么设置在最上层
  • 网站公司源码制作网站方法
  • 做网站百度收录wordpress 热门排序
  • 个性化定制客户和网站建设旅游网页设计作业
  • 百度 网站质量建设一个最普通网站要多少钱
  • 二手站网站怎做商标设计网软件
  • 东莞外贸网站建设wordpress去除发布者
  • 网站架构组成部分百度关键词seo排名
  • 做视频网站 买带宽广州网站开发网络公司
  • 甘肃交通建设监理公司网站品网站建设公司排名
  • 门户网站制作价格表百度搜索资源平台官网
  • 网站建设合同拟写什么是网络营销的方法