博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode – Refresh – LRU
阅读量:6735 次
发布时间:2019-06-25

本文共 1138 字,大约阅读时间需要 3 分钟。

1 struct Node { 2     int key, value; 3     Node(int k, int v) : key(k), value(v) {} 4 }; 5  6 class LRUCache{ 7 private: 8     int size; 9     list
nlist;10 unordered_map
::iterator> nmap;11 public:12 LRUCache(int capacity) {13 size = capacity;14 }15 16 int get(int key) {17 if (nmap.find(key) != nmap.end()) {18 nlist.splice(nlist.begin(), nlist, nmap[key]);19 nmap[key] = nlist.begin();20 return nlist.begin()->value;21 }22 return -1;23 }24 25 void set(int key, int value) {26 if (nmap.find(key) == nmap.end()) {27 if (size == nlist.size()) {28 nmap.erase(nlist.back().key);29 nlist.pop_back();30 }31 nlist.push_front(Node(key, value));32 nmap[key] = nlist.begin();33 } else {34 nlist.splice(nlist.begin(), nlist, nmap[key]);35 nmap[key] = nlist.begin();36 nlist.begin()->value = value;37 }38 }39 };

 

转载于:https://www.cnblogs.com/shuashuashua/p/4352710.html

你可能感兴趣的文章
结构类模式(四):装饰(Decorator)
查看>>
java面试题
查看>>
111、Android 高仿 频道管理---(可以拖动的GridView)附源码DEMO (转载)
查看>>
l2正则化
查看>>
Atitit 视图状态ViewState)的原理与管理
查看>>
067 Flume协作框架
查看>>
java的(PO,VO,TO,BO,DAO,POJO)解释
查看>>
Session中放错误提示JSP上获取
查看>>
使用 Git Hooks 实现自动项目部署
查看>>
宏内核与微内核【转】
查看>>
笔记︱集成学习Ensemble Learning与树模型、Bagging 和 Boosting
查看>>
内存回收
查看>>
error LNK1104:无法打开文件"lua51.lib"
查看>>
Git 详细的操作指南笔记
查看>>
尼采语录
查看>>
【linux】crontab失效
查看>>
利用Sharding-Jdbc实现分表
查看>>
php post接口,登录功能
查看>>
xml学习_上篇
查看>>
Java下利用Jackson进行JSON解析和序列化
查看>>