请手写实现一个 LRU 缓存,要求支持 get 与 put 操作,并分析时间复杂度。
考察说明
考察 LRU 缓存原理、哈希表与双向链表的组合运用及复杂度分析
回答思路
- 能说明 LRU 淘汰策略的基本思想
- 正确使用 HashMap 定位节点以支持 O(1) 查询
- 正确使用双向链表实现 O(1) 的插入与删除
- 保证 get、put 操作均为 O(1) 时间复杂度
- 考虑边界情况,如容量为 0 或重复 key 的更新
- 能清晰解释各操作步骤与数据结构选型理由
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。