之前我整理过HashMap的文章,在并发的多线程使用场景中使用HashMap可能会线程不安全。
而在线程安全的中有HashTable和ConcurrentHashmap,但是HashTable的处理是在所有并发操作上都加上了synchronized来达到同步,相当于所有线程都在竞争一把锁,虽然是安全的,但是效率太过于底下。
ConcurrentHashmap因其巧妙的设计,做到线程安全且效率高效,我们来看看它是怎么实现的。
LeetCode-多线程题库一锅端!
Posted on
|
In
Algorihtm
Leetcode 新出了多线程的题库,底下评论各路大神秀操作,不过接下来我们试一下怎么用信号量来解决这四个问题。
LeetCode-N-Queens
Posted on
|
In
Algorihtm
n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。
上图为 8 皇后问题的一种解法。
给定一个整数 n,返回 n 皇后不同的解决方案的数量。
注:皇后的攻击模式是同行或同列,以及两条斜线。
LeetCode-198+213
Posted on
|
In
Algorihtm
你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,(这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的。)影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。
给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。
这两道题的区别就是多了括号中的条件。
LeetCode - 406
Posted on
|
In
Algorihtm
假设有打乱顺序的一群人站成一个队列。 每个人由一个整数对(h, k)表示,其中h是这个人的身高,k是排在这个人前面且身高大于或等于h的人数。 编写一个算法来重建这个队列。