Young87

SmartCat's Blog

So happy to code my life!

当前位置:首页 >AI写作

c#题例-2025-10-06 11:40:47

实现一个线程安全的LRU缓存(Least Recently Used),要求支持以下操作:
1. `Get(int key)`:如果键存在,返回对应的值,并将该键值对移到缓存末尾表示最近使用;否则返回-1。
2. `Put(int key, int value)`:插入或更新键值对,若超出容量,则移除最久未使用的项。

要求所有操作的时间复杂度为 O(1),并保证在多线程环境下正确运行。禁止使用`ConcurrentDictionary`或`ReaderWriterLockSlim`等高级同步结构,仅允许使用基础锁(lock)和标准数据结构。同时,需处理潜在的并发竞争与内存可见性问题。

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

上一篇: c#题例-2025-10-06 17:14:05

下一篇: c#题例-2025-10-06 06:07:23

精华推荐