2026年程序员面试算法试题.docxVIP

  • 0
  • 0
  • 约8.7千字
  • 约 27页
  • 2026-08-30 发布于福建
  • 举报

第PAGE页共NUMPAGES页

2026年程序员面试算法试题

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

题目1(20分):实现一个LRU缓存机制

题目描述:

设计一个LRU(LeastRecentlyUsed)缓存机制,支持以下操作:

1.`get(key)`:获取键`key`对应的值。如果键存在,则返回值并更新该键为最近最常使用(LRU);如果键不存在,返回-1。

2.`put(key,value)`:插入或更新键`key`的值为`value`。如果缓存已满,则删除最久未使用的键(LRU)来腾出空间。

要求:

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

-可以假设所有键都是非负整数。

示例:

plaintext

LRUCachelru=newLRUCache(2);

lru.put(1,1);

lru.put(2,2);

System.out.println(lru.get(1));//返回1

lru.put(3,3);//去除键2

System.out.println(lru.get(2));//返回-1

lru.put(4,4);//去除键1

System.out.println(lru.get(1));//返回-1

System.out.println(lru.g

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档