Skip to content

Commit 7be3216

Browse files
committed
docs: add algorithm-stories.md
添加《枕边算法书》学习笔记
1 parent a86cf68 commit 7be3216

File tree

2 files changed

+30
-1
lines changed

2 files changed

+30
-1
lines changed

README.md

+4-1
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,15 @@
2424
### [《阿里巴巴 Java 开发手册》](/docs/effective-coding.md)
2525
别人都说我们是搬砖的码农,但我们知道自己是追求个性的艺术家。也许我们不会过多在意自己的外表和穿着,但在我们不羁的外表下,骨子里追求着代码的美、系统的美、设计的美,代码规范其实就是一个对程序美的定义。
2626

27+
### [《枕边算法书》](/docs/algorithm-stories.md)
28+
这本书,我是当作一本故事书来读的,里面的部分知识点还挺有意思。
29+
2730
## Reading List
2831
- [x] 《剑指 Offer》 355/355
2932
- [x] 《代码整洁之道》 296/296
3033
- [x] 《Effective Coding——阿里巴巴 Java 开发手册》 96/96
3134
- [x] 《大型网站技术架构——核心原理与案例分析》 218/218
32-
- [ ] 《枕边算法书》 92/243
35+
- [x] 《枕边算法书》 243/243
3336
- [ ] 《Effective Java 第二版》
3437
- [ ] 《Redis 实战》
3538
- [ ] 《Redis 设计与实现》

docs/algorithm-stories.md

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# 《枕边算法书》
2+
3+
> 这里仅挑一些有意思的故事或知识点做个记录。
4+
5+
- [和尚眼睛的颜色](#和尚眼睛的颜色)
6+
7+
## 和尚眼睛的颜色
8+
从前,有个小岛上只住着和尚。有些和尚的眼睛是红色的,而另一些则是褐色的。红色眼睛的和尚受到诅咒,如果得知自己的眼睛是红色的,那么当晚 12 点必须自行了断,无一例外。
9+
10+
和尚间有一条不成文的规定,就是彼此不能提起对方眼睛的颜色。小岛上没有一面镜子,也没有可以反射自己容貌的物体。因此,没有任何人能够得知自己眼睛的颜色。出于这些原因,每个和尚都过着幸福的日子。
11+
12+
有一天,岛上突然来了一位游客,她完全处于状况外。于是,她对和尚们说:“你们当中至少有一位的眼睛是红色的”。
13+
14+
这名无心的游客当天就离开了小岛,而和尚们却因第一次听到有关眼睛颜色的话题而惴惴不安。当晚,小岛上开始出现了可怕的事情......
15+
16+
究竟是什么事呢?
17+
18+
这道题不简单却非常有意思,而一旦知道答案,又会觉得并不太难。这并非是那种荒谬的问题,要想解开需要一些逻辑推理,所以不要试图一下子解开。先花 2 分钟时间独立思考一下吧。
19+
20+
下面开始查看正确答案。
21+
22+
游客说,“至少有一个人”的眼睛是红色的。假如这岛上**没有任何一个和尚的眼睛是红色的**,那么这会导致最糟糕的结果。你想一想,对于和尚们来说,除了自己以外,看到的其它和尚的眼睛都是褐色的。因此,每个和尚都会认为自己的眼睛是红色的,可想而知,所有和尚当晚都会自杀。
23+
24+
如果**只有一名和尚的眼睛是红色的**,会出现什么结果呢?很简单,这名和尚知道其它和尚眼睛都是褐色的,那么就会判断出自己眼睛的颜色,进而选择自杀。游客的无心之言就这样夺走了一条生命。
25+
26+
考虑更复杂的情况。假如**有两个红眼和尚**,那么他们各自都知道有一个红眼和尚,都以为说的是对方。这两个和尚心想:“那么红眼的家伙今晚就要自杀喽。”当晚,各自都安心入睡了。第二天,这两个和尚相互碰面,并看到对方没有自杀时,心理备受打击。他们都会意识到,红眼和尚有两个而非一个,而另一个正是自己。除此之外的任何情况都不可能让对方在第一个晚上不自杀而安然入睡。因此,受到极大打击的这两个红眼和尚在第二天晚上**都会悲惨死去**

0 commit comments

Comments
 (0)