What
LRU是Least Recently Used的缩写,即最近最少使用,是一种常用的页面置换算法,
Source
https://leetcode-cn.com/problems/lru-cache/
Design ideas
LRU的算法核心是哈希链表
本质就是HashMap+DoubleLinkedList 时间复杂度是O(1),哈希表+双向链表的结合体
How to implement
Case1
参考LinkedHashMap
依赖JDK
1 | package com.hhf.study.lru; |
Case2
不依赖JDK
1 | package com.ming.brush.leetcode.linkedlist; |