2026年程序员面试常见算法与编程题集.docxVIP

  • 2
  • 0
  • 约7.05千字
  • 约 18页
  • 2026-07-17 发布于福建
  • 举报

2026年程序员面试常见算法与编程题集.docx

第PAGE页共NUMPAGES页

2026年程序员面试常见算法与编程题集

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

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

问题描述:

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

1.`LRUCache(intcapacity)`:初始化缓存容量为`capacity`。

2.`get(intkey)`:返回`key`对应的值,如果`key`不存在返回`-1`。访问`key`后,将其标记为最近最常用。

3.`put(intkey,intvalue)`:将`key`和`value`存入缓存,如果缓存已满,则移除最久未使用的`key`(LRU策略),新数据替换。

要求:

-时间复杂度:`get`和`put`操作均为`O(1)`。

-空间复杂度:`O(capacity)`。

-输入示例:

LRUCachelru=newLRUCache(2);

lru.put(1,1);

lru.put(2,2);

lru.get(1);//返回1

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

lru.get(2);//返回-1(未找到)

答案与解析:

java

classLRUCache{

privateNodehead,tail;

p

文档评论(0)

1亿VIP精品文档

相关文档