c#题例-2025-10-06 17:14:05
日期: 2025-10-06 分类: AI写作 64次阅读
实现一个线程安全的LRU(最近最少使用)缓存,要求支持以下操作:
1. `Get(int key)`:如果键存在则返回对应的值,否则返回-1。访问后该键应被标记为最近使用。
2. `Put(int key, int value)`:插入或更新键值对。如果缓存已满(容量为正整数 capacity),则移除最久未使用的条目。
要求所有操作平均时间复杂度为 O(1),并保证在多线程环境下正确运行。不允许使用 .NET 内置的并发集合类(如 ConcurrentDictionary),但可使用锁或其他同步机制。
请写出完整的 C# 实现,并说明关键设计决策。
除特别声明,本站所有文章均为原创,如需转载请以超级链接形式注明出处:SmartCat's Blog
标签:AI写作
精华推荐
