摘要:
如何实现线程安全的LRU缓存? 1 不考虑缓存大小 方法1:使用ConcurrentHashMap即可。并发度高。【推荐】 class LRU<K, V> { // 正确:之所以不直接使用ConcurrentHashMap,是因为要减少暴漏的接口 private Map<K, V> cache = 阅读全文
摘要:
# 理解ConcurrentHashMap的多线程执行 ## 多线程下ConcurrentMap单个操作的顺序性/原子性 结论:ConcurrentHashMap单个操作,例如 get/put/remove都有原子性,即使操作同一个key,在底层会通过synchronized锁去排队执行。所以多线程 阅读全文
摘要:
## 练习刷题思路 ### [Missing Number - LeetCode](https://leetcode.com/problems/missing-number/description/) 【easy】 分析: - 长度为n的int数组,包含无重复的元素,每个元素范围是[0, n]. 找 阅读全文
摘要:
## 练习刷题思路 ### [722. 删除注释 - 力扣(LeetCode)](https://leetcode.cn/problems/remove-comments/) 【Mid】 思路: - 不难,但是细节比较多。要理清楚有点麻烦。【题目不好】 ```java class Solution 阅读全文
摘要:
## [2225. 找出输掉零场或一场比赛的玩家 - 力扣(LeetCode)](https://leetcode.cn/problems/find-players-with-zero-or-one-losses/) 思路: - 这个太水了,直接使用HashMap和HashSet即可。 - 复杂度分 阅读全文
摘要:
# java 和 C++的容器类的对比 ## 1 相似功能的容器 C++和Java都有丰富的容器库,虽然它们在使用和实现细节上有所不同,但许多容器都有类似的功能和性能特性。以下是C++和Java容器的对比: 1. `std::vector` (C++) `ArrayList` (Java) - 都是 阅读全文
摘要:
## 练习英文描述算法 ### [88. Merge Sorted Array - LeetCode](https://leetcode.com/problems/merge-sorted-array/description/?envType=study-plan-v2&id=top-intervi 阅读全文
摘要:
## 题目列表: - P1. 【easy,会员】[Meeting Rooms - LeetCode](https://leetcode.com/problems/meeting-rooms/) - P2. 【Mid,会员】[Meeting Rooms II - LeetCode](https://l 阅读全文
摘要:
# 23-05-19 刷题 非常难的一个题目,然后解法也非常多。 ## 【Hard】[218. 天际线问题 - 力扣(LeetCode)](https://leetcode.cn/problems/the-skyline-problem/) 非常难的题目,需要多复习,和深入理解。 **实现1:**使 阅读全文
摘要:
算法题目1:【Mid】47. 全排列 II 思路分析: 将原问题转换成子问题,先不考虑重复元素,例如 P{1,2,3} = {"1" + P{2,3}, "2" + P{1,3}, "3" + P{1,2}}。之后再考虑重复元素。 怎么枚举?枚举每个位置可以填哪些数。【这种枚举方式能保证字典序,除此 阅读全文