LRU 缓存淘汰算法动手实现

LRU 缓存淘汰算法动手实现

缓存穿透、击穿、雪崩是三个经典问题。本文从现象到解决方案,把这三个概念讲清楚。

先写清楚输入和输出

算法题最怕脑子里觉得懂,代码一写就错。先把输入、输出、边界条件列出来。

以二分查找为例:

public int binarySearch(int[] nums, int target) {
int left = 0, right = nums.length - 1;
while (left <= right) {
int mid = left + (right - left) / 2;
if (nums[mid] == target) return mid;
if (nums[mid] < target) left = mid + 1;
else right = mid - 1;
}
return -1;
}

验证边界

至少测试:空数组、只有一个元素、目标在开头、目标在结尾、目标不存在。


   转载规则


《LRU 缓存淘汰算法动手实现》 小乐 采用 知识共享署名 4.0 国际许可协议 进行许可。
  目录