LRU Cache
来源:互联网 发布:酒店清洗床单 知乎 编辑:程序博客网 时间:2024/06/16 04:53
public class LRUCache { private class Node { int key; int val; Node next; Node prev; public Node(int key, int val) { this.key = key; this.val = val; } } int size = 0; Map<Integer, Node> map = new HashMap<>(); Node head = new Node(-1, -1); Node tail = new Node(-1, -1); public LRUCache(int capacity) { size = capacity; head.next = tail; head.prev = tail; tail.next = head; tail.prev = head; } public int get(int key) { if (!map.containsKey(key)) { return -1; } Node node = map.get(key); node.prev.next = node.next; node.next.prev = node.prev; moveToTail(node); return node.val; } public void set(int key, int value) { if (get(key) != -1) { Node node = map.get(key); node.val = value; return; } if (size == map.size()) { Node deletedNode = head.next; head.next = deletedNode.next; deletedNode.next.prev = head; map.remove(deletedNode.key); } Node node = new Node(key, value); map.put(key, node); moveToTail(node); } private void moveToTail(Node node) { node.next = tail; node.prev = tail.prev; tail.prev.next = node; tail.prev = node; }}
0 0
- LRU Cache
- LRU Cache
- LRU Cache
- LRU Cache
- LRU Cache
- lru cache
- LRU Cache
- LRU Cache
- LRU Cache
- LRU Cache
- LRU Cache
- LRU Cache
- LRU Cache
- LRU cache
- LRU Cache
- LRU Cache
- LRU Cache
- LRU Cache
- 安卓中的Flux架构
- Turtle随机生成图像
- Android使用intent跳转到其它应用activity界面
- Leetcode no. 41
- The Values You Can Make
- LRU Cache
- Android启动过程深入解析
- 树状数组----构建与基本操作
- Balanced Lineup(线段树——根据区间找最值)
- UITableView错题集
- m_pDC->GetSafeHdc()的思考
- mysql++ 官方文档阅读简略摘要
- PHP调用OpenOffice实现word转PDF
- IOS 最强大的模糊搜索