2026年程序员高级面试题及答案详解.docxVIP

  • 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)

1亿VIP精品文档

相关文档