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

金华做公司网站企业品牌vi设计

金华做公司网站,企业品牌vi设计,中国建设人才网站,wordpress 音乐格式LRUCache实现 思路#xff1a;使用linkedHashMap。按照插入顺序的有序链表。 get 操作。cache不包含#xff0c;返回-1。包含。我们需要当前key重新put。 /将 key 变为最近使用 put。如果包含。修改当前key值。然后将key变成最近使用。不包含。如果cacheSize大于当前最大size…LRUCache实现 思路使用linkedHashMap。按照插入顺序的有序链表。 get 操作。cache不包含返回-1。包含。我们需要当前key重新put。 /将 key 变为最近使用 put。如果包含。修改当前key值。然后将key变成最近使用。不包含。如果cacheSize大于当前最大size。我们需要溢出最近没有使用的。那就是链表的最后一个元素。链表的头部。 class LRUCache {int cap;LinkedHashMapInteger, Integer cache new LinkedHashMap();public LRUCache(int capacity) { this.cap capacity;}public int get(int key) {if (!cache.containsKey(key)) {return -1;}// 将 key 变为最近使用makeRecently(key);return cache.get(key);}public void put(int key, int val) {if (cache.containsKey(key)) {// 修改 key 的值cache.put(key, val);// 将 key 变为最近使用makeRecently(key);return;}if (cache.size() this.cap) {// 链表头部就是最久未使用的 keyint oldestKey cache.keySet().iterator().next();cache.remove(oldestKey);}// 将新的 key 添加链表尾部cache.put(key, val);}private void makeRecently(int key) {int val cache.get(key);// 删除 key重新插入到队尾cache.remove(key);cache.put(key, val);} } public class LRUCache {//双链表 从左往右使用减少class DLinkedNode{int key, val;DLinkedNode pre;DLinkedNode next;public DLinkedNode(){}public DLinkedNode(int _key, int _val) {this.key _key;this.val _val;}}DLinkedNode tail, head; //双链表头指针和尾部指针HashMapInteger, DLinkedNode cache new HashMap();int size; //当前元素数量int capacity; //容量//1.初始化public LRUCache(int _capacity) {this.capacity _capacity;this.size 0;tail new DLinkedNode();head new DLinkedNode();head.next tail;tail.pre head;}public int get(int key) {DLinkedNode node cache.get(key);if(node null){//不存在keyreturn -1;}else {//使用了该数更新缓存deleteNode(node);addToHead(node);}return node.val;}public void put(int key, int value) {DLinkedNode node cache.get(key);//如果存在修改并更新缓存;if(node ! null){node.val value;deleteNode(node);addToHead(node);}else {//不存在//1.判断容量 达到最大容量删除最近未使用节点(别忘了cache也要删)if(size capacity){DLinkedNode removeNode tail.pre;deleteNode(removeNode);cache.remove(removeNode.key);size--;}DLinkedNode newNode new DLinkedNode(key, value);size;addToHead(newNode);cache.put(key, newNode);}}//删除双链表中的节点public void deleteNode(DLinkedNode node){node.pre.next node.next;node.next.pre node.pre;}//加入到链表头部public void addToHead(DLinkedNode node){node.pre head;node.next head.next;head.next.pre node;head.next node;} }/*** 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.zqtcl.cn/news/737190/

相关文章:

  • 网站的宣传推广学网站开发哪个好
  • 免费背景图片素材网站北京企业建站程序
  • 营销网站建设方案wordpress门户
  • 世界网站排名查询效果好企业营销型网站建设公司
  • 网站用户体验解决方案个人网页设计作品赏析
  • 常州网站建设方案外包网站开发用到的技术
  • 防伪网站模板如何找百度做网站
  • 网站建设与维护成绩查询云南app开发系统
  • 自己做网站的难度建设专门网站 强化信息宣传
  • 公职单位建设网站的目的如何查看小程序的开发公司
  • 网页模板网站推荐青岛 php 网站建设
  • joomla 网站建设3d网站建设
  • 网站开发与维护专业前景网站被禁止访问怎么打开
  • 山东 网站建设青海公路建设市场信用信息服务网站
  • 济南正规做网站公司wordpress一键还原
  • 免费的购物网站源码百度网站优化
  • 企业需要做网站吗深圳装修公司前十强
  • 合肥做网站推广哪家好软文写作的十大技巧
  • 哪里做网站的wordpress歌词插件
  • 网站改版做301重定向百度站长平台查询
  • 织梦网站后台网址妙影免费模板下载
  • 甘肃网站建设开发怎么利用花生壳做自己的网站
  • 怎么查询网站开通时间建个短视频网站
  • 物流网站建设广东网站建设效果
  • 网站推广工作流程图天蝎网站建设
  • 备案ip 查询网站查询网站校园门户网站建设方案
  • 网站seo快速优化技巧建设网站的需要学习哪些课程
  • 网站建设微信托管wordpress p=
  • 专业手机网站制作哪家好吉林建筑大学本科招生网
  • 建立一个网站需要哪些google和百度等相关网站的广告词