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

东莞网站推广定制公司网站3d展示怎么做的

东莞网站推广定制公司,网站3d展示怎么做的,怎么制作网站小游戏,新开的公司做网站多少钱LRU自定义最近最少使用 一#xff1a;leetCode 题目二#xff1a;思路三#xff1a;上代码3.1#xff1a;类代码3.2#xff1a; 测试代码 一#xff1a;leetCode 题目 题目链接#xff1a; 题目链接#xff1a;146.LRU缓存 为什么要写博客记录下呢#xff1f; 1.这个… LRU自定义最近最少使用 一leetCode 题目二思路三上代码3.1类代码3.2 测试代码 一leetCode 题目 题目链接 题目链接146.LRU缓存 为什么要写博客记录下呢 1.这个题很锻炼自己的编码能力代码量多结构多 2.这个题很锻炼自己的owner能力感觉挑战底层类不屈于写业务代码 3.这个题很锻炼自己的耐力调试比较麻烦 4.这个题很锻炼自己的边界能力各种边界条件需要测试 二思路 最近最少使用 最近最少使用 翻译下把最后一个不使用的给踢出去 维护一个队列 使用的放到队列的前头 队尾永远是最近最少使用的 翻译使用了就放队列前头想移除就移除队尾 如何实现队列O(1) 的复杂度 首先想到的是链表这里使用最普通的 listNode的结构体 class ListNode {int val;ListNode next;ListNode parent;public ListNode(int val) {this.val val;this.next null;this.parent null;} }三上代码 代码 类代码测试代码 3.1类代码 import java.util.HashMap; import java.util.Map;public class LRUCache {// 初始化的容量private final int capacity;// 元数据private final MapInteger, Integer metaMap;// 用于记录 key 和队列的关系private final MapInteger, ListNode metaLinkedMap;// 最后一个结点private ListNode lastNode;// 头结点private final ListNode headNode;public LRUCache(int capacity) {this.capacity capacity;metaMap new HashMap();metaLinkedMap new HashMap();// 请注意 这里我太笨了我这里前两个结点都是头结点。这样有利于我个人的思考 ListNode dataNode new ListNode(0);headNode new ListNode(0);headNode.next dataNode;}// 如果关键字 key 存在于缓存中则返回关键字的值否则返回 -1public int get(int key) {if (metaMap.containsKey(key)) {// 调整频率adjustExistNodeSort(key);return metaMap.get(key);}return -1;}// 如果关键字 key 已经存在则变更其数据值 value 如果不存在则向缓存中插入该组 key-value 。如果插入操作导致关键字数量超过 capacity 则应该 逐出 最久未使用的关键字public void put(int key, int value) {if (metaMap.containsKey(key)) {// 更新热点数据adjustExistNodeSort(key);// 替换数据metaMap.put(key, value);} else {if (metaMap.size() capacity) {// 需要移除数据removeLastNode();}ListNode putNode new ListNode(key);// 更新热点数据adjustNewNodeSort(putNode);// 初始化信息metaMap.put(key, value);metaLinkedMap.put(key, putNode);}}/*** 排序一个已经存在的结点* param key 已经存在的key*/private void adjustExistNodeSort(Integer key) {ListNode hotNode metaLinkedMap.get(key);ListNode oldHeadNode headNode.next.next;if (hotNode oldHeadNode){return;}hotNode.parent.next hotNode.next;if (hotNode.next ! null){hotNode.next.parent hotNode.parent;}if (lastNode hotNode metaMap.size() ! 1) {lastNode hotNode.parent;}if (oldHeadNode ! null) {oldHeadNode.parent hotNode;hotNode.next oldHeadNode;}headNode.next.next hotNode;hotNode.parent headNode.next;}/*** 调整一个新结点的排序* param putNode 新节点*/private void adjustNewNodeSort(ListNode putNode) {// 初始化末尾节点if (lastNode null || metaMap.size() 0) {lastNode putNode;}// 放到头节点ListNode oldHeadNode headNode.next.next;if (oldHeadNode ! null) {oldHeadNode.parent putNode;putNode.next oldHeadNode;}headNode.next.next putNode;putNode.parent headNode.next;}/*** 移除最后一个元素*/private void removeLastNode() {int lastVal lastNode.val;metaMap.remove(lastVal);metaLinkedMap.remove(lastVal);lastNode lastNode.parent;lastNode.next null;} }class ListNode {int val;ListNode next;ListNode parent;public ListNode(int val) {this.val val;this.next null;this.parent null;} } 3.2 测试代码 import java.util.HashSet; import java.util.Set;// Press Shift twice to open the Search Everywhere dialog and type show whitespaces, // then press Enter. You can now see whitespace characters in your code. public class Main {public static void main(String[] args) {LRUCache lruCache new LRUCache(1);lruCache.get(6);lruCache.get(8);lruCache.put(12,1);lruCache.get(2);lruCache.put(15,11);lruCache.put(5,2);lruCache.put(1,15);lruCache.put(4,2);lruCache.get(5);lruCache.put(15,15);} }
http://www.dnsts.com.cn/news/33739.html

相关文章:

  • 做磁力解析网站网站开发的评论界面怎么写
  • 网站平台建设呈现全新亮点巧克力软文范例200字
  • 做网站需要有开发一个网站大概多少钱
  • 重庆建网站哪家售后服务比较好广告设计与制作前景
  • wordpress 中文转英文js优化方案物理电子版
  • 上海 企业网站建设网站上的地图怎么做
  • 网站外链建设的策略分析朋友圈网站文章怎么做
  • 咖啡网站设计模板江苏城乡建设职业学院官方网站
  • 网站建设分金手指专业网站设计与建设开发
  • 云霄网站建设网页设计基础读书笔记
  • 为什么淘宝店主不自己做电商网站重庆做网站公司排名
  • wap网站 什么意思曲靖模板网站建设
  • 做广告在哪个网站做效果人流最多网站开发项目心得
  • 网站内容是怎么吸引用户的网站开发调研报告
  • 想建立什么网站在线直播网站建设
  • 网站网页制作图片素材深圳网页建设公司
  • 梅州建站塔山双喜普通网站能不能用vue做几个小功能
  • 佛山找人做网站wordpress简洁响应试
  • 网站cps后台怎么做网络项目资源网站
  • 用来做调查问卷的网站网站推广工作职责
  • 惠州网站建设创业麒麟网站建设
  • 最近三天国内重大新闻网站推广与优化怎么做
  • 深圳网站设计价格表网站制作价钱多少
  • 湖州市住房和城乡建设局官方网站展示型网站怎么做
  • 江西南昌网站建设服务种子库
  • 泉州教育平台网站建设网站规划与设计就业
  • 更新网站怎么弄asp.net网站搬迁到移动终端
  • 阿里云网站空间做商城流程如何连接到网站服务器
  • 不同域名指向同一网站网上做问卷报酬不错的网站是
  • 召开网站建设培训会wordpress吗