admin 管理员组文章数量: 887021
LRU##
NC93设计LRU缓存结构 =190&&tqId=35214&rp=1&ru=/ta/job-code-high-rd&qru=/ta/job-code-high-rd/question-rankingclass Solution {
public:vector<int> LRU(vector<vector<int> >& operators, int k) {vector<int>v;for(auto opt:operators){if(opt[0]==1){set(opt[1],opt[2],k);}else if(opt[0]==2){int value=get(opt[1]);v.push_back(value);}}return v;}
private:unordered_map<int,int>map;list<int>list;void set(int key,int value,int k){if(list.size()==k){int delkey=list.back();list.pop_back();map.erase(delkey);}list.push_front(key);map[key]=value;}int get(int key){auto it=map.find(key);if(it!=map.end()){list.remove(it->first);list.push_front(it->first);return it->second;}else{return -1;}}
};// class LRUcache{
// public:
// LRUcache(int capacity):k(capacity){}
// void put(int key,int value){
// if(list.size()==k){
// int delkey=list.back();
// list.pop_back();
// map.erase(delkey);
// }
// list.push_front(key);
// map[key]=value;
// }
// int get(int key){
// auto it=map.find(key);
// if(it!=map.end()){
// list.remove(it->first);
// list.push_front(it->first);
// return it->second;
// }else{
// return -1;
// }
// }
// private:
// unordered_map<int,int>map;
// list<int>list;
// int k;
// };
本文标签: LRU
版权声明:本文标题:LRU## 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1686611370h16904.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论