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

网站建设技术知识网站关键词优化排名推荐

网站建设技术知识,网站关键词优化排名推荐,wordpress修改伪静态以后跳转go,做修车行业需要在哪个网站做推广请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类: LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 …

请你设计并实现一个满足 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) 的平均时间复杂度运行。

思路总结:DlinkNode结构体创建双链表,双链表有key和val;
pre和next指针,并且进行初始化。
哈希表cache存着key和双链表节点
初始化head和tail(head和tail并不存储实际数据)
在LRUCache函数中 要clear哈希表,并且把tail加进双链表
在addNode中 如果有 可以直接返回 如果没有就需要弄个cur
把cur放到head的后面最佳
在deltNode中 如果没有 可以直接返回 如果有就erase他
删除的操作就是把他的前后找到 然后前后接上 把他悬挂
在get操作中,如果没有这个 返回-1;
如果有 就要先给他deletNode 再给他addNode
在put操作中,如果有,就先deletNode 再addNode
如果没有,就看看现在的哈希表是不是等于容量
如果等于容量:那就把tail前一个给他deleNode了
如果不等于容量:简单直接addNode。

struct DlinkNode{int key;int val;DlinkNode*pre;DlinkNode*next;DlinkNode():key(-1),val(-1),next(nullptr),pre(nullptr){}DlinkNode(int _key,int _val):key(_key),val(_val),next(nullptr),pre(nullptr){}
};
class LRUCache {
private:
unordered_map<int,DlinkNode*>cache;DlinkNode*head;DlinkNode*tail;int limit;
public:LRUCache(int capacity) {limit=capacity;cache.clear();head=new DlinkNode();tail=new DlinkNode();head->next=tail;tail->pre=head;}int get(int key) {if(!cache.count(key)){return -1;}int val=cache[key]->val;deltNode(key);addNode(key,val);return val;}void put(int key, int value) {if(cache.count(key)){deltNode(key);addNode(key,value);}else{if(cache.size()==limit){deltNode(tail->pre->key);addNode(key,value);}else{addNode(key,value);}}}void addNode(int key,int val){//添加//在头部添加if(cache.count(key)){return;}DlinkNode*cur=new DlinkNode(key,val);cur->next=head->next;head->next->pre=cur;cur->pre=head;head->next=cur;cache[key]=cur;}void deltNode(int key){//删除if(!cache.count(key)){return;}DlinkNode*cur=cache[key];cache.erase(key);DlinkNode*front=cur->pre;DlinkNode*back=cur->next;front->next=back;back->pre=front;cur->pre=nullptr;cur->next=nullptr;}
};
http://www.hkea.cn/news/372487/

相关文章:

  • 自己建一个电商网站吗网络营销的定义
  • 专门做金融的招聘网站四川seo选哪家
  • wordpress nginx伪静态配置拼多多seo怎么优化
  • 深圳网站开发电话惠州网络营销
  • 中宁网站建设公司商城全网推广运营公司
  • 网站文章列表如何排版郑州seo技术培训班
  • 小型b2c网站百度开户渠道商哪里找
  • 武进区住房和城乡建设局网站爱站网能不能挖掘关键词
  • APP手机端电子商务网站建设营销成功的案例
  • 公司网站引导页百度搜索关键词排名优化技术
  • 网站开发与维护学什么网站建设seo优化培训
  • 常州网站开发百度网盘电脑版官网
  • wordpress安全权限关键词优化公司哪家好
  • 银川做网站服务google play下载安卓
  • 科技型中小企业服务网安徽搜索引擎优化seo
  • 网站建设专家排名邯郸seo营销
  • 做网站一个月20g流量够吗安全又舒适的避孕方法有哪些
  • 扫二维码直接进网站怎么做怎么提交网址让百度收录
  • 柳州建设局网站广告买卖网
  • 做外贸一般上哪些网站google play谷歌商店
  • 泉州手机网站制作如何做企业产品推广
  • 徐州手机网站设计汕头网站建设优化
  • 有没有专业收费做网站优化的百度百科优化排名
  • 常州网站建设哪家便宜江西seo推广软件
  • 如何用pageadmin做网站品牌宣传策略有哪些
  • 网站免费优化软件需要优化的地方
  • 24小时学会网站建设下载厦门百度竞价开户
  • 怎样学做网站网站权重等级
  • 做网站好还是做淘宝好北京seo推广
  • 郑州门户网站建设哪家好网站首页不收录