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

收录网站是什么意思站长素材网站官网

收录网站是什么意思,站长素材网站官网,十大热点新闻,广告公司会建设网站吗总结下来,步骤大致是: 定义节点类,包含前驱、后继、键和值。 定义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://www.cadmedia.cn/news/7021.html

相关文章:

  • 西安疫情吉林seo推广
  • 职业教育网站建设可行性报告台湾永久免费加密一
  • 应用公园是收费还是免费的seo优化网络
  • 百度对网站建设公司全网营销策划公司
  • 网站建设和优化要求seo推广软件哪个好
  • 企业网站springboot武汉大学人民医院东院
  • 小红书推广营销网站seo博客
  • 商务之家网福建seo快速排名优化
  • 天津网站排名优化外贸营销网站制作
  • 网站建设网页设计培训班怎么制作网站教程步骤
  • 自己想做个网站需要多少钱优化网站seo公司
  • 芜湖网站建设推广公司搜索引擎优化是什么?
  • seo做论坛和企业网站差别百度自动点击器怎么用
  • 宁波网站推广运营公司网上推销产品的软件
  • 给我一个网站电工培训内容
  • 广州建网站开发seo型企业网站seo排名优化软件有用吗
  • 旅行社网站规划与建设如何在网上做销售推广
  • 系统开发工具有哪些长沙seo优化价格
  • 淘客推广佣金广安seo外包
  • 网站开发遇到的难题解决seo优化排名工具
  • 江西专业的网站建设制作sem和seo是什么
  • 专业做红木家具网站网络推广员是干什么的
  • wordpress 大战深圳优化服务
  • 广州新建站百度客户端下载
  • 怎么建设医疗美容网站百度推广开户多少钱一个月
  • 做网站的公司哪家强百度seo如何做
  • 车都建设投资集团网站关键词优化排名平台
  • 有关风水的网站建设栏目线上营销的优势
  • 互动网页设计北京seo运营推广
  • web网站开发意义百度文库厦门网络推广哪家强