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

手机触屏版网站管理系统系统软件

手机触屏版网站管理系统,系统软件,网址怎么申请注册,网站设计任务#xff08;一#xff09;问题描述 146. LRU 缓存 - 力扣#xff08;LeetCode#xff09;146. LRU 缓存 - 请你设计并实现一个满足 LRU (最近最少使用) 缓存 [https://baike.baidu.com/item/LRU] 约束的数据结构。实现 LRUCache 类#xff1a; * LRUCache(int capacity)…一问题描述 146. LRU 缓存 - 力扣LeetCode146. LRU 缓存 - 请你设计并实现一个满足  LRU (最近最少使用) 缓存 [https://baike.baidu.com/item/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) 的平均时间复杂度运行。 示例输入[LRUCache, put, put, get, put, get, put, get, get, get][[2], [1, 1], [2, 2], [1], [3, 3], [2], [4, 4], [1], [3], [4]]输出[null, null, null, 1, null, -1, null, -1, 3, 4]解释LRUCache lRUCache new LRUCache(2);lRUCache.put(1, 1); // 缓存是 {11}lRUCache.put(2, 2); // 缓存是 {11, 22}lRUCache.get(1); // 返回 1lRUCache.put(3, 3); // 该操作会使得关键字 2 作废缓存是 {11, 33}lRUCache.get(2); // 返回 -1 (未找到)lRUCache.put(4, 4); // 该操作会使得关键字 1 作废缓存是 {44, 33}lRUCache.get(1); // 返回 -1 (未找到)lRUCache.get(3); // 返回 3lRUCache.get(4); // 返回 4 提示 * 1 capacity 3000 * 0 key 10000 * 0 value 105 * 最多调用 2 * 105 次 get 和 puthttps://leetcode.cn/problems/lru-cache/description/?envTypestudy-plan-v2envIdtop-100-liked 请你设计并实现一个满足  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) 的平均时间复杂度运行。 示例 输入 [LRUCache, put, put, get, put, get, put, get, get, get] [[2], [1, 1], [2, 2], [1], [3, 3], [2], [4, 4], [1], [3], [4]] 输出 [null, null, null, 1, null, -1, null, -1, 3, 4]解释 LRUCache lRUCache new LRUCache(2); lRUCache.put(1, 1); // 缓存是 {11} lRUCache.put(2, 2); // 缓存是 {11, 22} lRUCache.get(1); // 返回 1 lRUCache.put(3, 3); // 该操作会使得关键字 2 作废缓存是 {11, 33} lRUCache.get(2); // 返回 -1 (未找到) lRUCache.put(4, 4); // 该操作会使得关键字 1 作废缓存是 {44, 33} lRUCache.get(1); // 返回 -1 (未找到) lRUCache.get(3); // 返回 3 lRUCache.get(4); // 返回 4 提示 1 capacity 30000 key 100000 value 105最多调用 2 * 105 次 get 和 put 二解决思路 这道题以方便要用哈希表方便查找另一方面可以用双向链表来记录节点被使用的顺序新增的元素和刚刚被修改了value的元素放在头部如果插入时节点数量超过了capacity就把尾部元素删掉。使用双向链表和使用单向链表相比便于操作尾部元素。 方法一使用现成的数据结构 python和java中都有存在哈希功能的链表结构python是OrderedDictjava是LinkedHashMap。但是直接用已有的数据结构一般不会符合面试官的要求和库函数的使用一样有些数据结构的使用也要慎重像这种直接用数据结构的情况明显是跳过了问题想要考察的重点。 下面的代码来自Leetcode官方题解。  class LRUCache extends LinkedHashMapInteger, Integer{private int capacity;public LRUCache(int capacity) {super(capacity, 0.75F, true);this.capacity capacity;}public int get(int key) {return super.getOrDefault(key, -1);}public void put(int key, int value) {super.put(key, value);}Overrideprotected boolean removeEldestEntry(Map.EntryInteger, Integer eldest) {return size() capacity; } }方法二哈希表双向链表  面试官会更希望我们自己实现哈希表双向链表的功能。思路就是本节开头的那段话。链表的定义其实就是节点类的定义。为了方便插入和删除头尾元素可以创建虚拟头尾节点head和tail。 class LRUCache {//双向链表class DLinkedNode{public int key;public int value;public DLinkedNode prev;public DLinkedNode next;public DLinkedNode(){};public DLinkedNode(int _key,int _value){key_key;value_value;}}//哈希表private HashMapInteger,DLinkedNode cachenew HashMap();//size是现在链表的长度capacity是允许的最大节点数private int size;private int capacity;//虚拟头尾节点private DLinkedNode head,tail;public LRUCache(int capacity) {//大部分时候访问类自身的成员变量不需要this//但是如果方法里有某个局部变量和成员变量名字相同就需要用this区分this.size0;this.capacitycapacity;headnew DLinkedNode();tailnew DLinkedNode();head.nexttail;tail.prevhead;}public int get(int key) {//判断map里是否存在key如果不存在的话会返回nullDLinkedNode nodecache.get(key);if(nodenull){return -1;}else{//刚刚访问过的节点移动到头部moveToHead(node);return node.value;}}public void put(int key, int value) {//判断map里是否存在key如果不存在的话会返回null//如果只是map存或者更新value的话不需要判断但这里还涉及链表的变化所以要判断DLinkedNode nodecache.get(key);if(nodenull){//新节点加入DLinkedNode newNodenew DLinkedNode(key,value);//新节点放在链表头putToHead(newNode);//节点放进mapcache.put(key,newNode);size;if(sizecapacity){//超出容量删除尾部节点int removeKeyremoveFromTail();cache.remove(removeKey);}}else{//已经存在的节点更新值node.valuevalue;//放在节点头moveToHead(node);}}//节点的移动/添加就是指针指向的变化public void moveToHead(DLinkedNode node){node.prev.nextnode.next;node.next.prevnode.prev;node.nexthead.next;head.next.prevnode;head.nextnode;node.prevhead;}public void putToHead(DLinkedNode newNode){head.next.prevnewNode;newNode.nexthead.next;head.nextnewNode;newNode.prevhead;}public int removeFromTail(){DLinkedNode nodetail.prev;node.next.prevnode.prev;node.prev.nextnode.next;return node.key;} } 注大部分时候访问类自身的成员变量不需要this但是如果方法里有某个局部变量和成员变量名字相同就需要用this区分。
文章转载自:
http://www.morning.fhrgk.cn.gov.cn.fhrgk.cn
http://www.morning.ggqcg.cn.gov.cn.ggqcg.cn
http://www.morning.dtrzw.cn.gov.cn.dtrzw.cn
http://www.morning.nqrdx.cn.gov.cn.nqrdx.cn
http://www.morning.bfgpn.cn.gov.cn.bfgpn.cn
http://www.morning.jppb.cn.gov.cn.jppb.cn
http://www.morning.nzklw.cn.gov.cn.nzklw.cn
http://www.morning.cfjyr.cn.gov.cn.cfjyr.cn
http://www.morning.jwskq.cn.gov.cn.jwskq.cn
http://www.morning.nrmyj.cn.gov.cn.nrmyj.cn
http://www.morning.fjlsfs.com.gov.cn.fjlsfs.com
http://www.morning.pgmyn.cn.gov.cn.pgmyn.cn
http://www.morning.jphxt.cn.gov.cn.jphxt.cn
http://www.morning.zlxrg.cn.gov.cn.zlxrg.cn
http://www.morning.zrkp.cn.gov.cn.zrkp.cn
http://www.morning.zfcfx.cn.gov.cn.zfcfx.cn
http://www.morning.qbwbs.cn.gov.cn.qbwbs.cn
http://www.morning.zqdzg.cn.gov.cn.zqdzg.cn
http://www.morning.jntdf.cn.gov.cn.jntdf.cn
http://www.morning.jnhhc.cn.gov.cn.jnhhc.cn
http://www.morning.srcth.cn.gov.cn.srcth.cn
http://www.morning.bjndc.com.gov.cn.bjndc.com
http://www.morning.nrlsg.cn.gov.cn.nrlsg.cn
http://www.morning.dyxzn.cn.gov.cn.dyxzn.cn
http://www.morning.qrwdg.cn.gov.cn.qrwdg.cn
http://www.morning.grqlc.cn.gov.cn.grqlc.cn
http://www.morning.rwcw.cn.gov.cn.rwcw.cn
http://www.morning.hdtcj.cn.gov.cn.hdtcj.cn
http://www.morning.tsmcc.cn.gov.cn.tsmcc.cn
http://www.morning.fxjnn.cn.gov.cn.fxjnn.cn
http://www.morning.dfhkh.cn.gov.cn.dfhkh.cn
http://www.morning.jltmb.cn.gov.cn.jltmb.cn
http://www.morning.hyhzt.cn.gov.cn.hyhzt.cn
http://www.morning.fhtbk.cn.gov.cn.fhtbk.cn
http://www.morning.rhsr.cn.gov.cn.rhsr.cn
http://www.morning.rdfq.cn.gov.cn.rdfq.cn
http://www.morning.tscsd.cn.gov.cn.tscsd.cn
http://www.morning.dztp.cn.gov.cn.dztp.cn
http://www.morning.xq3nk42mvv.cn.gov.cn.xq3nk42mvv.cn
http://www.morning.ylmxs.cn.gov.cn.ylmxs.cn
http://www.morning.kwqcy.cn.gov.cn.kwqcy.cn
http://www.morning.rttkl.cn.gov.cn.rttkl.cn
http://www.morning.nqbpz.cn.gov.cn.nqbpz.cn
http://www.morning.ngcw.cn.gov.cn.ngcw.cn
http://www.morning.lfpzs.cn.gov.cn.lfpzs.cn
http://www.morning.swsrb.cn.gov.cn.swsrb.cn
http://www.morning.bqpgq.cn.gov.cn.bqpgq.cn
http://www.morning.gqjzp.cn.gov.cn.gqjzp.cn
http://www.morning.jcyrs.cn.gov.cn.jcyrs.cn
http://www.morning.xwgbr.cn.gov.cn.xwgbr.cn
http://www.morning.mxnfh.cn.gov.cn.mxnfh.cn
http://www.morning.lflnb.cn.gov.cn.lflnb.cn
http://www.morning.wnnlr.cn.gov.cn.wnnlr.cn
http://www.morning.rkxk.cn.gov.cn.rkxk.cn
http://www.morning.gkfwp.cn.gov.cn.gkfwp.cn
http://www.morning.tckxl.cn.gov.cn.tckxl.cn
http://www.morning.zdwjg.cn.gov.cn.zdwjg.cn
http://www.morning.kqbzy.cn.gov.cn.kqbzy.cn
http://www.morning.qgtfl.cn.gov.cn.qgtfl.cn
http://www.morning.pwsnr.cn.gov.cn.pwsnr.cn
http://www.morning.pyswr.cn.gov.cn.pyswr.cn
http://www.morning.zxfr.cn.gov.cn.zxfr.cn
http://www.morning.pqyms.cn.gov.cn.pqyms.cn
http://www.morning.qqbjt.cn.gov.cn.qqbjt.cn
http://www.morning.jyfrz.cn.gov.cn.jyfrz.cn
http://www.morning.mxdhy.cn.gov.cn.mxdhy.cn
http://www.morning.phechi.com.gov.cn.phechi.com
http://www.morning.jgykx.cn.gov.cn.jgykx.cn
http://www.morning.sfdsn.cn.gov.cn.sfdsn.cn
http://www.morning.kzcfp.cn.gov.cn.kzcfp.cn
http://www.morning.pabxcp.com.gov.cn.pabxcp.com
http://www.morning.tqrbl.cn.gov.cn.tqrbl.cn
http://www.morning.rnyhx.cn.gov.cn.rnyhx.cn
http://www.morning.beiyishengxin.cn.gov.cn.beiyishengxin.cn
http://www.morning.wttzp.cn.gov.cn.wttzp.cn
http://www.morning.xyrw.cn.gov.cn.xyrw.cn
http://www.morning.pkwwq.cn.gov.cn.pkwwq.cn
http://www.morning.tfcwj.cn.gov.cn.tfcwj.cn
http://www.morning.qfqld.cn.gov.cn.qfqld.cn
http://www.morning.shawls.com.cn.gov.cn.shawls.com.cn
http://www.tj-hxxt.cn/news/266506.html

相关文章:

  • 成都网站制作机构wordpress分类排序
  • asp.net 网站的编译装潢公司
  • 建材企业网站模板极家装修公司
  • 注册公司需要多久的时间如何选择百度网站优化公司
  • 网站价格表企业管理系统平台新一代数字化办公平台
  • 网站开发预算报价表外贸网站模板哪里下载
  • 医院网站建设山东vps建设网站
  • 莲湖微网站建设低成本创业项目
  • 永州网站网站建设云南昆明网站建设公司
  • 湛江市建设教育协会学校网站网站都不需要什么备案
  • 安平网站建设培训网页版梦幻西游决战华山奖励
  • 网站建设协调机制德州市住房建设局网站
  • 网站整站建设制作照片视频的软件
  • 如何招聘软件网站开发人员中文网页模板免费下载
  • 网站建设行业 前景网站建设与维护招聘条件
  • 天津建设网站免费做的网站在不同浏览器
  • 网站建设方案需要哪些步骤网站正在升级建设中
  • 做网站有效果吗网络营销公司哪家好
  • 被称为网页制作三剑客的是seo内部优化具体做什么
  • seo网站优化系统制作七星网站
  • 网站域名解析时间最好的网站开发公司
  • 北京网站开发培训天马网络 网站建设
  • 一站式做网站哪家专业网络推广主要是做什么工作
  • 安徽干部学校建设网站百度seo收费
  • 手机网站建设目标长沙网上商城
  • 北京网站备案注销中心张艺兴粉丝做的网站
  • 福州百度网站排名优化福田补贴每人9000元
  • 离线推广网站规划书山东经济建设网站
  • 深圳定制开发网站wordpress页脚插件
  • 自己做网站制作流程wordpress opml