这题面试的概率非常的搞,按照LRU的算法逻辑。每次都是将容量内最久没有使用的来移除。 思路: 每次把新鲜的数据向链表的表头来移动。最新移动的数据:1. 修改(put),或者访问过(get)。 每次在插入数据的时候,检查当前的LRU容量,是否已经满了,如果满了,把最旧的移除(也就是链表最后的一个节点)。 每次我们把LRU的内容都存放在一个hash表内<key, 节点>,这样查找的时候就不用需要去遍历链表了。 在链表中维护当前的优先级别,把最新鲜的数据放到列表头: 我们来模拟一下案例: ["LRUCache", "put", "put", "get", "put",...