2026年程序员面试技术难题解析.docxVIP

  • 0
  • 0
  • 约5.62千字
  • 约 15页
  • 2026-10-29 发布于福建
  • 举报

第PAGE页共NUMPAGES页

2026年程序员面试:技术难题解析

一、编程语言与基础算法(5题,每题10分,共50分)

题目1(Java):

假设你需要实现一个LRU(LeastRecentlyUsed)缓存,容量为`capacity`。缓存支持`get(key)`和`put(key,value)`操作。请用Java实现该缓存,要求时间复杂度为O(1)。

答案与解析:

java

importjava.util.HashMap;

importjava.util.Map;

publicclassLRUCacheK,V{

privatefinalintcapacity;

privatefinalMapK,Nodecache;

privatefinalNodehead,tail;

privatestaticclassNodeK,V{

Kkey;

Vvalue;

NodeK,Vprev;

NodeK,Vnext;

Node(Kkey,Vvalue){

this.key=key;

this.value=value;

}

}

publicLRUCache(intcapacity){

this.capacity=capacity;

cache=newHashMap();

head=n

文档评论(0)

1亿VIP精品文档

相关文档