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

郑州网站搭建网站做备案

郑州网站搭建,网站做备案,淘宝网页版电脑版官网,西安外包公司有哪些总结下来,步骤大致是: 定义节点类,包含前驱、后继、键和值。 定义LRUCache类,包含容量、哈希表、头尾哑节点。 初始化时,创建头尾节点并连接,方便插入和删除操作。 get方法:如果存在节点&#…

总结下来,步骤大致是:

定义节点类,包含前驱、后继、键和值。
定义LRUCache类,包含容量、哈希表、头尾哑节点。
初始化时,创建头尾节点并连接,方便插入和删除操作。
get方法:如果存在节点,移动它到头部,返回值;否则返回-1。
put方法:如果存在节点,更新值并移动;否则创建新节点,添加到哈希表和链表头部,检查容量,超限则删除尾部节点。
辅助方法:添加节点到头部,删除节点,移动节点到头部,删除尾部节点。
这样应该就能正确实现LRU缓存了。然后,复杂度分析则是每个操作都是O(1),因为哈希表和双向链表的操作都是常数时间。
在这里插入图片描述

import java.util.HashMap;
class LRUCache{public static void main(String[] args) {LRUCache cache = new LRUCache(2);cache.put(1,11);cache.put(2,22);cache.put(3,33);cache.get(2);cache.put(4,44);}class DNodeList{int key;int val;DNodeList prev;DNodeList next;DNodeList(int key, int val){this.key = key;this.val = val;}}DNodeList head;// 虚拟头结点DNodeList tail; // 虚拟尾结点int capacity;// 容量HashMap<Integer, DNodeList> cache = new HashMap<>();LRUCache(int capacity){this.capacity = capacity;head = new DNodeList(-1, -1);tail = new DNodeList(-1, -1);head.next = tail;tail.prev = head;}// 存储节点的Hash表// 获取值int get(int key){if(!cache.containsKey(key)){return -1;}DNodeList node = cache.get(key);// 移动到头部moveToHead(node);return node.val;}// 放置值void put(int key, int val){if(cache.containsKey(key)){DNodeList node = cache.get(key);node.val = val;moveToHead(node);} else{DNodeList node = new DNodeList(key, val);addToHead(node);// 超容量,删除最近不使用的尾节点if(cache.size() > capacity){// 删除尾结点removeTail();}}}// 移动到头部void moveToHead(DNodeList node){// 删除节点removeNode(node);// 添加到头部addToHead(node);}// 删除节点void removeNode(DNodeList node){node.prev.next = node.next;node.next.prev = node.prev;cache.remove(node.key);}// 添加到头部void addToHead(DNodeList node){node.next = head.next;head.next.prev = node;head.next = node;node.prev = head;cache.put(node.key, node);}// 删除尾结点void removeTail(){removeNode(tail.prev);}}

文章转载自:

http://USWwv9ak.knpmj.cn
http://A5wzxYXj.knpmj.cn
http://ZkyiC4ks.knpmj.cn
http://PFD1WryU.knpmj.cn
http://oeXtY8vp.knpmj.cn
http://KXGkciFW.knpmj.cn
http://9qbL4pXe.knpmj.cn
http://RAs867tS.knpmj.cn
http://kV2sSfuP.knpmj.cn
http://7IprLhMR.knpmj.cn
http://y0sriokq.knpmj.cn
http://LzK67jAO.knpmj.cn
http://hCzgChvx.knpmj.cn
http://t7EM9Asa.knpmj.cn
http://g6SkkNsM.knpmj.cn
http://Rn2XQDM0.knpmj.cn
http://CrYb5MmJ.knpmj.cn
http://7PWNVsE4.knpmj.cn
http://JNBxe8D9.knpmj.cn
http://oekKWLeB.knpmj.cn
http://FOShAasK.knpmj.cn
http://jo6lxbn6.knpmj.cn
http://ehEz5mD9.knpmj.cn
http://YieP2iT6.knpmj.cn
http://jCOA8DD6.knpmj.cn
http://bsrd9yR5.knpmj.cn
http://MJyLwmwV.knpmj.cn
http://Uiv3vibv.knpmj.cn
http://krWqbglz.knpmj.cn
http://ArgHEdco.knpmj.cn
http://www.dtcms.com/wzjs/660896.html

相关文章:

  • 什么网站可以做投资邢台做网站哪儿好
  • win2008 iis 新建网站wordpress 酒
  • 移动网站合肥站建设
  • 上海网站建设费用龙华网站(建设信科网络)
  • 网站建设 大公司好wordpress文章上头条
  • 深圳外贸网站制作公司服务好的网站建设
  • 做国外服务器网站吗网站建设找客户渠道
  • 班级网站建设活动方案推广整合营销
  • 遵义住建局查询网站广西建设厅微信网站
  • win7dw做asp购物网站wordpress 主题删除
  • 购物网站制作样例专注新乡网站建设
  • 做音乐网站代码网站建设设计培训班
  • 单位做网站支出应怎么核算.htaccess wordpress cdn
  • 红色企业网站源码wordpress直播功能插件
  • 做国内打不开的网站网上最好的网站模块
  • 网站做成app客户端做app得多少钱
  • 网站提现功能怎么做购物网站排行榜
  • 教育类网站怎么做优化电子商务网站建设信息
  • wordpress调用taxonomyseo全称是什么
  • 网站关键词标题怎么写seo搜索引擎优化营销案例
  • 做美食网站赚钱吗网站思维导图例子
  • 用系统建购物网站谷歌提交网站入口
  • 网站建设先做前台还是后台订阅号 小程序
  • 吉安哪家做网站的公司好淘宝网站建设可行性分析
  • 文件上传到沧州建设局网站c#可以做网站吗
  • 广州seo网站推广技巧西安网站免费制作
  • 山西省诚信建设网站wordpress主题php
  • 北京网站快速优化排名全国十大代理记账公司
  • 阿里云网站建设优化学校网页制作模板
  • 网站开发是分为前端和后端吗现在有什么有效的引流方法