跳到主内容
登录
← 返回题库
手写代码4/5 偏难字节跳动算法 · 一面 ★ 0 · 浏览 2 · 2025 年

设计 LRU 缓存(146 题)

实现 LRUCache:get(key) 命中返回值否则返回 -1,put(key, value) 在容量超限时淘汰最久未使用的键。要求两个操作都是 O(1)。 示例:capacity=2,put(1,1) put(2,2) get(1)→1 put(3,3) get(2)→-1。

哈希表链表

参考答案

先自己想 30 秒再看答案,比直接读一遍有用得多。

追问链

  1. 1. 怎么实现 LFU 缓存?
  2. 2. 并发环境下 LRU 加锁粒度怎么设计?