- 0
- 0
- 约9.7千字
- 约 26页
- 2026-10-31 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年程序员高级面试题及答案详解
一、编程实现题(共5题,每题20分,总分100分)
1.剑指Offer新版题目:实现一个LRU缓存机制(20分)
题目描述:
设计一个LRU(LeastRecentlyUsed)缓存机制,支持以下操作:
-`get(key)`:获取键`key`对应的值,若存在则返回值,并更新该键为最近使用;若不存在返回-1。
-`put(key,value)`:插入或更新键值对,若容量已满则删除最久未使用的键。缓存容量为`capacity`。
示例:
LRUCachecache=newLRUCache(2);
cache.put(1,1);
cache.put(2,2);
cache.get(1);//返回1
cache.put(3,3);//去除键2
cache.get(2);//返回-1(未找到)
cache.put(4,4);//去除键1
cache.get(1);//返回-1(未找到)
cache.get(3);//返回3
cache.get(4);//返回4
要求:
-时间复杂度:`get`和`put`操作均为`O(1)`。
-使用双向链表+哈希表实现。
答案与解析:
java
classLRUCa
原创力文档

文档评论(0)