华为技术部面试题解析及答案.docxVIP

  • 0
  • 0
  • 约8.88千字
  • 约 23页
  • 2026-03-16 发布于福建
  • 举报

第PAGE页共NUMPAGES页

2026年华为技术部面试题解析及答案

一、编程实现题(共3题,每题10分,总分30分)

题目1(Java编程):

实现一个LRU(LeastRecentlyUsed)缓存,支持容量限制。缓存通过键值对存储,当访问一个键时,该键会被移动到缓存的最前面。当缓存超出容量时,需要淘汰最久未使用的键。请使用Java代码实现该缓存,并展示如何进行插入、访问和淘汰操作。

答案与解析:

java

importjava.util.HashMap;

importjava.util.Map;

classLRUCacheK,V{

privatefinalintcapacity;

privatefinalMapK,NodeK,Vmap;

privateNodeK,Vhead,tail;

publicLRUCache(intcapacity){

this.capacity=capacity;

map=newHashMap();

}

publicVget(Kkey){

NodeK,Vnode=map.get(key);

if(node==null)returnnull;

moveToHead(node);

returnnode.value;

}

publicvoidput(Kk

文档评论(0)

1亿VIP精品文档

相关文档