class LRU {
Map<Integer,Node> map;
DoubleList cache;
int cap;
public int get(int key) {}
public void put(int key, int value) {}
}
class Node {
int val, key;
Node prev, next;
}
class DouleLinkedList {
Node dummyHead, dummyTail;
private int size;
public DoubleList() {
head = new Node(0, 0);
tail = new Node(0, 0);
head.next = tail;
tail.prev = head;
size = 0;
}
public void addLast(Node x) {}
public void remove(Node x) {}
public Node removeFirst() {}
public int size() {}
}
经典题目
LRU算法
LinkedLit: 自己实现双向链表的crud O(1)code
LFU算法
淘汰最近最少使用的{LRU}
code