leetcode 146 —— LRU Cache
来源:互联网 发布:塔里木农垦大学知乎 编辑:程序博客网 时间:2024/05/18 03:15
思路:hash_map 和list 容器
class LRUCache{public:struct node{int key;int value;node(int k, int v) :key(k), value(v){}};LRUCache(int capacity) {mCapacity = capacity;}int get(int key) {if (visited.find(key) == visited.end())return -1;MoveToHead(key);return visited[key]->value;}void set(int key, int value) {if (visited.find(key) == visited.end()){node add(key, value);if (LRUcache.size() >= mCapacity){ //腾出空间visited.erase(LRUcache.back().key);LRUcache.pop_back(); //删除最前面的}LRUcache.push_front(add);visited[key] = LRUcache.begin();return;}else{visited[key]->value = value;MoveToHead(key);}}private:unordered_map<int, list<node>::iterator> visited;list<node> LRUcache;int mCapacity;void MoveToHead(int key){auto updateEntry = *visited[key];//记录当前的值LRUcache.erase(visited[key]);//从原位置删除LRUcache.push_front(updateEntry);visited[key] = LRUcache.begin();}};
0 0
- leetcode 146 —— LRU Cache
- LeetCode——LRU Cache
- leetcode——LRU Cache
- LeetCode: LRU Cache [146]
- LeetCode 146 LRU Cache
- LeetCode(146) LRU Cache
- leetcode || 146、LRU Cache
- leetcode 146: LRU Cache
- LeetCode 146 LRU Cache
- LeetCode -146 LRU Cache
- LeetCode 146 LRU Cache
- Leetcode 146 LRU Cache
- LeetCode—LRU Cache解题报告
- Leetcode 146 LRU Cache 模拟操作系统LRU
- 【Leetcode-hard-146】LRU Cache
- LeetCode146—LRU Cache
- LeetCode LRU 缓存 LRU Cache
- solution of LeetCode:146 LRU Cache
- 15岁女生偷偷攒钱买手机出走 4个月了无音讯----现在的孩子太任性
- python操作MySQL
- Struts2中validator校验器不起作用的情况
- hdu2064汉诺塔递推
- 找出字符串中第一个只出现一次的字符
- leetcode 146 —— LRU Cache
- 如果在 unity中滚动 3D 骰子
- 车行无忧 v5.0.3 安卓版
- Mysql数据库事务的隔离级别和锁的实现原理分析
- 添加VLC录像API
- HDU 4883 TIANKENG’s restaurant(排序或优先队列模拟)——BestCoder Round #2
- ASP.NET第一章总结
- UIWebView与JS的深度交互
- java的多线程同步及锁的机制 http://f.dataguru.cn/thread-483280-1-1.html (出处: 炼数成金)