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

福建省住建厅网站官网在线代理浏览网址

福建省住建厅网站官网,在线代理浏览网址,中小企业网站用什么技术,thinkphp做的网站题目 请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类: LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回…

题目

请你设计并实现一个满足  LRU (最近最少使用) 缓存 约束的数据结构。

实现 LRUCache 类:

  • LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存
  • int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。
  • void put(int key, int value) 如果关键字 key 已经存在,则变更其数据值 value ;如果不存在,则向缓存中插入该组 key-value 。如果插入操作导致关键字数量超过 capacity ,则应该 逐出 最久未使用的关键字。

函数 get 和 put 必须以 O(1) 的平均时间复杂度运行。

解题思路

  1. 由题可知,需要Map来存储数据,List可以通过通过控制添加到的索引位置来将数据提前;
  2. 对Map进行操作时,通过更新List涉及的数据;
  3. 溢出时从List获取末尾节点即最近最少使用的数据进行删除更新。

代码展示

class LRUCache {Map< Integer, Integer> lru = null;List<Integer> sort = null;int cap;public LRUCache(int capacity) {lru = new HashMap<>();sort = new ArrayList<>(capacity);cap = capacity;}public int get(int key) {Integer val = lru.get(key);if(val != null){sort.remove((Integer) key);sort.add(0, key);return val;} else {return -1;}}public void put(int key, int value) {if(lru.containsKey(key)){lru.put(key,value);sort.remove((Integer) key);sort.add(0, key);} else {if (lru.size() == cap) {int last = sort.get(cap - 1);sort.remove(cap - 1);lru.remove(last);}lru.put(key, value);sort.add(0, key);}}
}

http://www.15wanjia.com/news/42648.html

相关文章:

  • 做网站不带优化的吗最近的头条新闻
  • 买网站域名sem培训机构
  • 广州网站建设 领航科技电商网站如何避免客户信息泄露
  • 北京做网站制作的公司seo快速工具
  • 福建省建设厅网站余广州婚恋网站排名
  • 广州官网优化seo手机端排名软件
  • 商城网站制作教程网站页面优化包括
  • 什么是网站外链西安百度推广运营公司
  • 做网站需要学会哪些近期国家新闻
  • 什么叫网站开发活动软文模板
  • php动态网站开发人民邮电出版社关键词林俊杰在线听免费
  • 淘宝网站可以做轮播吗引流推广网站平台
  • 能够做数据地图的网站网络推广专员
  • 平面设计师赚钱吗seo关键词的选择步骤
  • 网站建设的新闻流量点击推广平台
  • 购物网站建设机构网站优化怎么操作
  • 网络公司免费做网站 卖货抽提成百度广告怎么收费标准
  • 建设网站怎么制作网站快速有排名
  • wordpress网页防爬长春seo按天计费
  • 做软件外包公司seo薪酬水平
  • 广州做内销鞋的网站怎么联系百度人工客服
  • 天津网站优化流程com网站域名注册
  • 微信第三方网站怎么做免费的企业黄页网站
  • 如何做自己的小说网站百度商业平台官网
  • 鑫灵锐做网站多少钱排名优化关键词
  • 手机网站建设效果小程序开发
  • ui培训班哪里有开封网站快速排名优化
  • 有没有专门做针织衫的网站b2b网站推广排名
  • 湖南 网站建设重庆网站排名
  • 我怎么打不开建设银行的网站培训心得体会范文500字