2026年腾讯技术部高级工程师面试题目.docxVIP

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

2026年腾讯技术部高级工程师面试题目.docx

第PAGE页共NUMPAGES页

2026年腾讯技术部高级工程师面试题目

一、编程实现题(共3题,每题20分,总计60分)

1.题1(20分):设计一个高效的LRU(最近最少使用)缓存系统

题目描述:

请实现一个LRU缓存系统,支持get和put操作。缓存容量为固定值,当缓存容量已满时,最近最少使用的缓存项将被移除以给新缓存项腾出空间。缓存系统应支持以下操作:

-`get(key)`:获取键key对应的值。如果键不存在,返回-1。

-`put(key,value)`:插入或更新键值对。如果缓存已满,先淘汰最近最少使用的缓存项。

要求:

-使用双向链表和哈希表实现,确保get和put操作的时间复杂度为O(1)。

-请提供完整代码实现,并说明关键数据结构和算法的选择理由。

答案与解析:

答案:

python

classNode:

def__init__(self,key=0,value=0):

self.key=key

self.value=value

self.prev=None

self.next=None

classLRUCache:

def__init__(self,capacity:int):

self.capacity=capacity

self.cache={}

self.head=Node(0,

文档评论(0)

1亿VIP精品文档

相关文档