146. LRU Cache
2017-02-17 12:04
330 查看
模拟题,思路简单,但是难是难在对c++ 的用法!!!要好好学习!!!
2刷还要解决超时问题和自己写一次!
2刷还要解决超时问题和自己写一次!
class LRUCache{ private: typedef pair<int,list<int>::iterator> PILI; int capacity; map<int,PILI> datas; list<int> s; public: LRUCache(int capacity) { this->capacity=capacity; } int get(int key) { auto iter=datas.find(key); if(iter!=datas.end()) { update(iter); return iter->second.first; } else return -1; } void set(int key, int value) { int length=datas.size(); auto iter=datas.find(key); if(iter!=datas.end()) { iter->second.first=value; update(iter); } else { if(length>=capacity) { datas.erase(s.back()); s.pop_back(); } s.push_front(key); datas[key]=PILI(value,s.begin()); } } private: void update(map<int,PILI>::iterator iter) { int key=iter->first; s.erase(iter->second.second); s.push_front(key); iter->second.second=s.begin(); } };
相关文章推荐
- 146. LRU Cache
- Leetcode 146. LRU Cache
- 146. LRU Cache
- 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 No146. LRU Cache
- [hard]146. LRU Cache
- 146. LRU Cache
- 146. LRU Cache
- 146. LRU Cache
- 146. LRU Cache
- 缓存对象Cache的基本应用
- 主存到Cache直接映射、全相联映射和组相联映射
- ASP.NET 学习笔记_13 viewstate 和 cache