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

淘宝客网站如何做SEO游戏推广员是做什么的

淘宝客网站如何做SEO,游戏推广员是做什么的,东莞商城网站建设公司,陕西中洋建设有限公司网站1.题目描述 2.思路 LRU(最近最少使用):如果缓存的容量为2,刚开始的两个元素都入栈。之后该2元素中有其中一个元素(重点元素)被访问。把最近访问过的重点元素保留,另一个边缘元素就得离开缓存了。 下面是l…

1.题目描述

在这里插入图片描述

2.思路

LRU(最近最少使用):如果缓存的容量为2,刚开始的两个元素都入栈。之后该2元素中有其中一个元素(重点元素)被访问。把最近访问过的重点元素保留,另一个边缘元素就得离开缓存了。

下面是leetcode思路:
在这里插入图片描述
总结:
(1)创建一个哈希表和双向链表。链表头部是最近刚使用过的元素,尾部是最近不经常使用的元素。
(2)put(),首先如果新加入的元素在哈希表中不存在,则直接创建新节点加入到map中。如果双向链表的节点数超过链表容量,则剔除尾部节点(包括它的值)。如果新加入的元素存在(key存在),我们通过get进行定位,把节点值进行更新,移动到头部(说明是最近刚被访问的)
(3)get(),如果get(key)不存在直接返回-1,如果key存在,说明key节点是最近被使用的节点。通过哈希表定位到双向链表的位置,并将其移动到双向链表的头部,返回该节点的值。
在这里插入图片描述

3.代码实现

class LRUCache {class doubleLinkedNode{int key;int value;doubleLinkedNode prev;doubleLinkedNode next;public doubleLinkedNode() {}public doubleLinkedNode(int key, int value) {this.key = key;this.value = value;}}private Map<Integer,doubleLinkedNode> cache=new HashMap<Integer,doubleLinkedNode>();private int size;private int capacity;private doubleLinkedNode head;private doubleLinkedNode tail;public LRUCache(int capacity) {this.size=0;this.capacity=capacity;//使用伪头部和伪尾部节点head=new doubleLinkedNode();tail=new doubleLinkedNode();head.next=tail;tail.prev=head;}public int get(int key) {doubleLinkedNode node=cache.get(key);if(node==null){return -1;}//如果key存在,通过哈希表定位,再移动到头部moveToHead(node);return node.value;}public void put(int key, int value) {doubleLinkedNode node=cache.get(key);if(node==null){//2.如果key不存在,则创建一个新的节点doubleLinkedNode newNode=new doubleLinkedNode(key,value);//添加到哈希表cache.put(key,newNode);//添加到双向链表的头部addToHead(newNode);size++;// 如果添加的数量超出容量if(size>capacity){//超出容量,说明要删除双向链表的尾部节点doubleLinkedNode tail=removeTail();//删除哈希表中对应的项,删尾部节点对应的key值cache.remove(tail.key);size--;}}else{//如果key存在,先通过哈希表定位,再修改value,并移动到头部node.value=value;moveToHead(node);}}private void addToHead(doubleLinkedNode node){node.prev=head;node.next=head.next;head.next.prev=node;head.next=node;}private void removeNode(doubleLinkedNode node){node.prev.next=node.next;node.next.prev=node.prev;}private void moveToHead(doubleLinkedNode node){removeNode(node);addToHead(node);}private doubleLinkedNode removeTail(){doubleLinkedNode res=tail.prev;removeNode(res);return res;}
}/*** Your LRUCache object will be instantiated and called as such:* LRUCache obj = new LRUCache(capacity);* int param_1 = obj.get(key);* obj.put(key,value);*/
http://www.dtcms.com/wzjs/418186.html

相关文章:

  • 做网站建设哪家好昆山网站制作公司
  • 湘潭做网站价格找磐石网络一流百度官网首页网址
  • 一个电商网站的网页制作百度seo排名优
  • 桂林北站附近的景点找关键词的方法与技巧
  • 网站源码编辑软件线上推广活动有哪些
  • 网站界面设计中的版式设计有哪些青岛网站建设方案服务
  • 机械设备网合肥网站推广优化
  • 买虚机送网站建设顺德搜索seo网络推广
  • 新闻发布网站建设实训小结百度开户需要什么条件
  • 手机可以做3d动漫视频网站有哪些免费关键词优化工具
  • 手机版网站做一下多少钱2024最火的十大新闻有哪些
  • 网站空间管理谷歌google浏览器
  • qq查冻结网站怎么做百度视频推广怎么收费
  • 阆中 网站建设免费二级域名分发网站
  • 东莞网络推广网站日本比分预测最新分析
  • 搭建一个商城网站免费发布产品的平台
  • 事业单位网站建设注销情况说明国际外贸网络交易平台
  • 怎么样做网站注册量购买域名后如何建立网站
  • 怎么简单做网站排名seo综合查询工具可以查看哪些数据
  • vipsystem for wordpressseo全网优化指南
  • 重庆公司专业建站百度seo快速排名优化服务
  • 网站弹出信息怎么做国内最大的搜索引擎
  • 甜品网站开发需求分析做销售怎么和客户聊天
  • 的物app宁波seo优化服务
  • 做网站市场分析微信crm系统软件
  • 天府新区规划建设国土局网站百度sem是什么意思
  • 珠海网站建设怎么样360推广平台登录入口
  • 成都网站制作机构网站优化有哪些类型
  • 办网站费用多少钱惠州网站seo
  • wordpress站点标题和副标题百度网盘搜索