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

网站加油站西安驾校网站建设

网站加油站,西安驾校网站建设,国外在线crm酒店系统,ui设计就业方向LRU cache的实现是面试常见的题目#xff0c;思路比较简单#xff0c;可以参考思路 这个题目在实际面试中容易出错#xff0c;主要是npe和头节点与尾节点的更新#xff0c;有没有办法避免这一点呢#xff0c;这时可以发现伪节点的好处#xff0c;永远不用更新头尾节点思路比较简单可以参考思路 这个题目在实际面试中容易出错主要是npe和头节点与尾节点的更新有没有办法避免这一点呢这时可以发现伪节点的好处永远不用更新头尾节点也不用担心出现npe 在双向链表的实现中使用一个伪头部dummy head和伪尾部dummy tail标记界限这样在添加节点和删除节点的时候就不需要检查相邻的节点是否存在。 代码实现 import java.util.HashMap; import java.util.Map;public class LRUCache {class DLinkedNode {int key;int value;DLinkedNode prev;DLinkedNode next;public DLinkedNode() {}public DLinkedNode(int _key, int _value) {key _key; value _value;}}private MapInteger, DLinkedNode cache new HashMapInteger, DLinkedNode();private int size;private int capacity;private DLinkedNode head, tail;public LRUCache(int capacity) {this.size 0;this.capacity capacity;// 使用伪头部和伪尾部节点head new DLinkedNode();tail new DLinkedNode();head.next tail;tail.prev head;}public int get(int key) {DLinkedNode node cache.get(key);if (node null) {return -1;}// 如果 key 存在先通过哈希表定位再移到头部moveToHead(node);return node.value;}public void put(int key, int value) {DLinkedNode node cache.get(key);if (node null) {// 如果 key 不存在创建一个新的节点DLinkedNode newNode new DLinkedNode(key, value);// 添加进哈希表cache.put(key, newNode);// 添加至双向链表的头部addToHead(newNode);size;if (size capacity) {// 如果超出容量删除双向链表的尾部节点DLinkedNode tail removeTail();// 删除哈希表中对应的项cache.remove(tail.key);--size;}}else {// 如果 key 存在先通过哈希表定位再修改 value并移到头部node.value value;moveToHead(node);}}private void addToHead(DLinkedNode node) {node.prev head;node.next head.next;head.next.prev node;head.next node;}private void removeNode(DLinkedNode node) {node.prev.next node.next;node.next.prev node.prev;}private void moveToHead(DLinkedNode node) {removeNode(node);addToHead(node);}private DLinkedNode removeTail() {DLinkedNode res tail.prev;removeNode(res);return res;} }
http://www.dnsts.com.cn/news/182242.html

相关文章:

  • 不花钱建网站免费创建论坛
  • 做一个网站成本要多少钱金诚财富网站是谁做的
  • 国内网站开发办公室装修效果图片
  • 做外贸什么网站比较好广州seo公司推荐
  • 生物科技公司网站建设seo优化是指
  • 网站建设 目的自定义wordpress登录界面
  • 深圳网站运营托管Wordpress 免费收款插件
  • 兼职网站开发一个月深圳的设计企业网站
  • 厦门网站制作哪里好薇泸州房产网
  • 为公司建设网站的意义wordpress 修改功能
  • 网站密码是什么情况怎么获得一个免费的域名
  • 自己站网站合肥企业网站建设工
  • 只有做推广才能搜索到网站吗济南制作网站有哪些
  • 电子商务网站设计规划书南京网站建
  • wordpress建m域名网站国外网站设计 网址
  • 广西网站建设公司哪家好传奇手游大型网站
  • 安徽平台网站建设设计18款禁用软件黄app免费
  • 网站做计算功能wordpress query
  • 广州做网站哪家公司最好asp学校网站源码
  • 建设工程消防验收查询网站h5页面和小程序的页面有什么区别
  • 金融网站模板源代码注册公司网站模版
  • 网站 拉新免费申请公司网站
  • 电脑做系统ppt下载网站好wordpress部分翻译无效
  • 金融网站模版下载北京南站是中高风险地区吗
  • 游戏网站建设策划方案模板php网站开发工程师找工作
  • 网站知识介绍产品开发流程图模板
  • 唐山市城乡建设网站网站建设一般用什么语言好
  • 在哪里能找到建网站网站的最近浏览 怎么做
  • 互联网网站开发服务合同四川工程造价信息网
  • 博客网站做外贸可以吗好口碑的网站制作安装价格