logo

实现一个 LRU 缓存,支持 get 和 put 操作,要求时间复杂度均为 O(1)。

Implement an LRU Cache that supports get and put operations, both in O(1) time complexity.

题目类型: 技术面试题

这是一道技术面试题,常见于澳洲IT公司面试中。

难度: medium

标签: bloomberg, generated

目标公司: Bloomberg

参考答案摘要

思路分析 使用哈希表 + 双向链表。哈希表提供 O(1) 查找,双向链表维护访问顺序。 参考答案 关键数据结构:HashMap + DoublyLinkedList。get 时将节点移到头部;put 时插入头部,容量满时删除尾部。 评分要点 正确选择数据结构组合 O(1) 时间复杂度的 get 和 put 正确处理缓存驱逐 线程安全考虑 常见追问 如何实现线程安全的 LRU? LRU vs LFU...

本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。

← 返回面试题库

实现一个 LRU 缓存,支持 get 和 put 操作,要求时间复杂度均为 O(1)。

Mediumalgorithmsdata-structuressystem-design

想查看完整答案?

登录匠人学院学习中心,获取 STAR 格式回答和详细技术解析

前往学习中心查看答案