Young87

SmartCat's Blog

So happy to code my life!

当前位置:首页 >AI写作

c#题例-2025-10-10 08:13:55

实现一个线程安全的LRU(最近最少使用)缓存,要求支持以下操作:
1. `Get(int key)`:如果键存在则返回对应的值,否则返回-1。访问后该键应标记为最近使用。
2. `Put(int key, int value)`:插入或更新键值对。如果缓存容量已满,则删除最久未使用的条目。

约束条件:
- 缓存容量在构造时指定(capacity > 0)。
- 所有操作必须在平均 O(1) 时间复杂度内完成。
- 必须保证多线程环境下正确性(多个线程同时调用 Get 和 Put 不会出现数据竞争或不一致)。

请编写完整的 C# 类实现,并说明关键设计决策以满足线程安全和性能要求。

除特别声明,本站所有文章均为原创,如需转载请以超级链接形式注明出处:SmartCat's Blog

上一篇: c#题例-2025-10-10 13:47:20

下一篇: c#题例-2025-10-10 02:40:36

精华推荐