请手写实现一个基于最近最少使用(LRU)策略的缓存。要求支持 get 和 put 操作,且 get 和 put 的平均时间复杂度为 O(1)。
考察说明
考察对 LRU 缓存原理的理解、数据结构选型与编码实现能力
回答思路
- 正确实现 LRU 语义:get 命中时更新访问顺序,put 时淘汰最久未使用的键
- 使用哈希表与双向链表结合,保证 get/put 平均 O(1)
- 处理容量边界和更新已存在键时保持顺序
- 代码风格清晰,边界条件完整,可运行
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。