404
-{{ getMsg() }}-
diff --git "a/\350\266\205\346\270\205\346\200\235\347\273\264\345\257\274\345\233\276 100 \345\274\240/42.Java\346\212\200\346\234\257\347\233\270\345\205\263/.DS_Store" b/.DS_Store
similarity index 75%
rename from "\350\266\205\346\270\205\346\200\235\347\273\264\345\257\274\345\233\276 100 \345\274\240/42.Java\346\212\200\346\234\257\347\233\270\345\205\263/.DS_Store"
rename to .DS_Store
index a3d7637e..4cb2147e 100644
Binary files "a/\350\266\205\346\270\205\346\200\235\347\273\264\345\257\274\345\233\276 100 \345\274\240/42.Java\346\212\200\346\234\257\347\233\270\345\205\263/.DS_Store" and b/.DS_Store differ
diff --git a/1.md b/1.md
new file mode 100644
index 00000000..22ee39cf
--- /dev/null
+++ b/1.md
@@ -0,0 +1,32 @@
+##### [点击下载本项目全部内容 提取码:【8f8b】 包括:1、我写的图解算法题典 2、千本开源电子书 3、百张思维导图 4、BAT/TMD 大厂面经 (如果链接失效,上方扫码回复即可)](https://www.geekxh.com/github_click.html?6072)
+
+#### 本项目还包括 I(支持下载):
+
+> 千本开源电子书覆盖了你在IT行业发展可以用到的大部分资料,百张思维导图按照专题对各类计算机知识进行了整合。**由于文件过大,建议通过下方扫码,回复【999】获取**
+
+- 📚 [一千本开源电子书](https://github.com/geekxh/hello-algorithm/tree/master/%E6%B8%85%E6%99%B0%E7%89%88%E7%94%B5%E5%AD%90%E4%B9%A61000%E6%9C%AC)
+- 🐒 [百张思维导图集锦](https://github.com/geekxh/hello-algorithm/tree/master/%E8%B6%85%E6%B8%85%E6%80%9D%E7%BB%B4%E5%AF%BC%E5%9B%BE100%E5%BC%A0)
+
+#### 本项目还包括 II(支持下载):
+
+> 大厂面经汇总覆盖了阿里、京东、华为、字节、滴滴、百度、美团、腾讯 等公司的面试题,按照 公司/专题 两个维度对面试题进行了整合。**由于文件过大,建议通过下方扫码,回复【面经】获取。**
+
+
+
+
+
+
diff --git "a/website/0.0.\345\255\246\344\271\240\351\241\273\347\237\245/02.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/1.\345\255\246\344\271\240\351\241\273\347\237\245/02.md"
similarity index 98%
rename from "website/0.0.\345\255\246\344\271\240\351\241\273\347\237\245/02.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/1.\345\255\246\344\271\240\351\241\273\347\237\245/02.md"
index 0a88d00b..3d42197e 100644
--- "a/website/0.0.\345\255\246\344\271\240\351\241\273\347\237\245/02.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/1.\345\255\246\344\271\240\351\241\273\347\237\245/02.md"
@@ -1,6 +1,6 @@
----
-title: 阅读指南
----
+
+## 阅读指南
+
## 为什么要做这样的一个算法图解合集
diff --git "a/website/0.0.\345\255\246\344\271\240\351\241\273\347\237\245/03.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/1.\345\255\246\344\271\240\351\241\273\347\237\245/03.md"
similarity index 97%
rename from "website/0.0.\345\255\246\344\271\240\351\241\273\347\237\245/03.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/1.\345\255\246\344\271\240\351\241\273\347\237\245/03.md"
index 9e4333ea..857f413a 100644
--- "a/website/0.0.\345\255\246\344\271\240\351\241\273\347\237\245/03.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/1.\345\255\246\344\271\240\351\241\273\347\237\245/03.md"
@@ -1,6 +1,6 @@
----
-title: 资源下载
----
+
+## 资源下载
+
::: danger 重要
diff --git "a/website/1.7.\346\216\222\345\272\217\347\261\273\351\242\230\347\233\256/701.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/10.\346\216\222\345\272\217\347\261\273\351\242\230\347\233\256/701.md"
similarity index 89%
rename from "website/1.7.\346\216\222\345\272\217\347\261\273\351\242\230\347\233\256/701.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/10.\346\216\222\345\272\217\347\261\273\351\242\230\347\233\256/701.md"
index eb961e83..a3b5be88 100644
--- "a/website/1.7.\346\216\222\345\272\217\347\261\273\351\242\230\347\233\256/701.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/10.\346\216\222\345\272\217\347\261\273\351\242\230\347\233\256/701.md"
@@ -1,7 +1,7 @@
----
-title: 按奇偶排序数组(905)
+
+## 按奇偶排序数组(905)
date: 2020-06-14
----
+
> 在本系列中,将为大家讲解**排序算法**相关内容。同时,由于网上排序相关的教程太多了,我会尽可能的讲解一些不一样的内容。而不是按照 排序讲解 标准Titile,什么“十大排序算法”,“经典排序算法”,“排序算法必知必会” 之类的一个一个来进行讲解。所以,如果内容引起不适,概不负责...
@@ -9,17 +9,17 @@ date: 2020-06-14
在leetcode中,直接搜索**排序标签**出现的题目有80余道,这是与排序直接相关的题目,不包括其他一些用到排序思想的题目。
-
+
同时,各个公司在面试的过程中,或多或少都直接或间接问到过排序相关的内容(毕竟面试官不知道问什么时,都会用排序算法来救救场。不要问我是怎么知道的...),尤其是 **快排、堆排序、全排列** 等 Topic,在面试中屡试不爽。
+
+
综上,得出结论**:为了offer~排序很重要,我们需要进行掌握。**
@@ -31,7 +31,7 @@ date: 2020-06-14
插入排序:就是炸金花的时候,你**接一个同花顺**的过程。(标准定义:在要排序的一组数中,假定前n-1个数已经排好序,现在将第n个数插到前面的有序数列中,使得这n个数也是排好顺序的)
-
+
代码示例:
@@ -54,7 +54,7 @@ func insert_sort(arr []int) {
输入:
-
+
讲解完了插入排序,我们根据其思想,完成下面这道题目吧
@@ -87,7 +87,7 @@ func insert_sort(arr []int) {
假设我们的数组为:[3,1,2,4]
-
+
根据以上分析,得到代码:
@@ -106,5 +106,5 @@ func sortArrayByParity(A []int) []int {
执行结果:
-
+
diff --git "a/website/1.7.\346\216\222\345\272\217\347\261\273\351\242\230\347\233\256/701/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/10.\346\216\222\345\272\217\347\261\273\351\242\230\347\233\256/701/1.jpg"
similarity index 100%
rename from "website/1.7.\346\216\222\345\272\217\347\261\273\351\242\230\347\233\256/701/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/10.\346\216\222\345\272\217\347\261\273\351\242\230\347\233\256/701/1.jpg"
diff --git "a/website/1.7.\346\216\222\345\272\217\347\261\273\351\242\230\347\233\256/701/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/10.\346\216\222\345\272\217\347\261\273\351\242\230\347\233\256/701/2.jpg"
similarity index 100%
rename from "website/1.7.\346\216\222\345\272\217\347\261\273\351\242\230\347\233\256/701/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/10.\346\216\222\345\272\217\347\261\273\351\242\230\347\233\256/701/2.jpg"
diff --git "a/website/1.7.\346\216\222\345\272\217\347\261\273\351\242\230\347\233\256/701/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/10.\346\216\222\345\272\217\347\261\273\351\242\230\347\233\256/701/3.jpg"
similarity index 100%
rename from "website/1.7.\346\216\222\345\272\217\347\261\273\351\242\230\347\233\256/701/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/10.\346\216\222\345\272\217\347\261\273\351\242\230\347\233\256/701/3.jpg"
diff --git "a/website/1.7.\346\216\222\345\272\217\347\261\273\351\242\230\347\233\256/701/4.gif" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/10.\346\216\222\345\272\217\347\261\273\351\242\230\347\233\256/701/4.gif"
similarity index 100%
rename from "website/1.7.\346\216\222\345\272\217\347\261\273\351\242\230\347\233\256/701/4.gif"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/10.\346\216\222\345\272\217\347\261\273\351\242\230\347\233\256/701/4.gif"
diff --git "a/website/1.7.\346\216\222\345\272\217\347\261\273\351\242\230\347\233\256/701/5.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/10.\346\216\222\345\272\217\347\261\273\351\242\230\347\233\256/701/5.jpg"
similarity index 100%
rename from "website/1.7.\346\216\222\345\272\217\347\261\273\351\242\230\347\233\256/701/5.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/10.\346\216\222\345\272\217\347\261\273\351\242\230\347\233\256/701/5.jpg"
diff --git "a/website/1.7.\346\216\222\345\272\217\347\261\273\351\242\230\347\233\256/701/6.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/10.\346\216\222\345\272\217\347\261\273\351\242\230\347\233\256/701/6.jpg"
similarity index 100%
rename from "website/1.7.\346\216\222\345\272\217\347\261\273\351\242\230\347\233\256/701/6.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/10.\346\216\222\345\272\217\347\261\273\351\242\230\347\233\256/701/6.jpg"
diff --git "a/website/1.7.\346\216\222\345\272\217\347\261\273\351\242\230\347\233\256/701/7.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/10.\346\216\222\345\272\217\347\261\273\351\242\230\347\233\256/701/7.jpg"
similarity index 100%
rename from "website/1.7.\346\216\222\345\272\217\347\261\273\351\242\230\347\233\256/701/7.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/10.\346\216\222\345\272\217\347\261\273\351\242\230\347\233\256/701/7.jpg"
diff --git "a/website/1.8.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/801.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/11.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/801.md"
similarity index 93%
rename from "website/1.8.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/801.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/11.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/801.md"
index 300f015c..0ada1f88 100644
--- "a/website/1.8.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/801.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/11.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/801.md"
@@ -1,7 +1,7 @@
----
-title: 使用位运算求和
+
+## 使用位运算求和
date: 2020-06-19
----
+
> 今天为大家分享一道本应很简单的题目,但是却因增加了特殊条件,而大幅增加了难度。话不多说,直接看题。
@@ -58,11 +58,11 @@ class Solution {
利用这一特性,我们**将递归的返回条件取非然后作为 && 的第一个条件,递归主体转换为第二个条件语句**。我知道肯定有人又会懵圈了,所以我们绘图说明。假若这里n=3,大概就是下面这样:
-
+
这里还有一点要强调的就是,受制于各语言的语法规则,我们需要做一些额外的处理。比如Java,这里如果去掉前面的变量申明,就会直接报错。
-
+
但是如果是C 就没有这样的问题:
@@ -121,4 +121,4 @@ func sumNums(n int) int {
执行结果:
-
\ No newline at end of file
+
\ No newline at end of file
diff --git "a/website/1.8.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/801/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/11.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/801/1.jpg"
similarity index 100%
rename from "website/1.8.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/801/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/11.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/801/1.jpg"
diff --git "a/website/1.8.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/801/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/11.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/801/2.jpg"
similarity index 100%
rename from "website/1.8.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/801/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/11.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/801/2.jpg"
diff --git "a/website/1.8.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/801/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/11.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/801/3.jpg"
similarity index 100%
rename from "website/1.8.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/801/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/11.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/801/3.jpg"
diff --git "a/website/1.8.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/802.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/11.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/802.md"
similarity index 90%
rename from "website/1.8.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/802.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/11.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/802.md"
index 4adb49fc..044f526e 100644
--- "a/website/1.8.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/802.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/11.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/802.md"
@@ -1,7 +1,7 @@
----
-title: 2的幂(231)
+
+## 2的幂(231)
date: 2020-06-21
----
+
> 今天给大家分享一道比较简单但是很经典的题目。话不多说,直接看题。
@@ -50,15 +50,15 @@ date: 2020-06-21
先观察一些是2的幂的二进制数:
-
+
**可以发现这些数,都是最高位为1,其他位为0**。所以我们把问题转化为“判断一个数的二进制,除了最高位为1,是否还有别的1存在”。然后我们再观察下面这样的一组数,对应着上面的数减去1:
-
+
我们对两组数求“&”运算:
-
+
可以看到,对于N为2的幂的数,**都有 N&(N-1)=0 ,** 所以这就是我们的判断条件。(这个技巧可以记忆下来,在一些别的位运算的题目中也是会用到的)
@@ -75,7 +75,7 @@ func isPowerOfTwo(n int) bool {
执行结果:
-
+
## 03、证明过程
@@ -85,7 +85,7 @@ func isPowerOfTwo(n int) bool {
“阳春白雪,下里巴人”这个比喻虽然有点牵强,但是却难掩位运算的重要性。位运算在整个算法体系里,不少人可能会觉得有点食之无味、弃之可惜的意思。但其实,完全不是这样!有这种想法的,大多是初学者。对于这点,应该C系的玩家,会深有感触。万丈高楼平地起,暂且不说位运算在底层运算中占据了多大比重,单是整个leetcode列表里,打着位运算标签的题目就超过80余道,我想已经说明了问题。**至少,在面试这块,你必须对位运算了如指掌!** 所以,今天的题目算是一个引子,后面我会出一个位运算的专题,希望尽我所能,帮助大家攻克这一类型的问题。
-
+
+
我们只需要让这个掩码每次向左移动一位,然后与目标值求“&”,就可以判断目标值的当前位是不是1。比如目标值为21,21的二进制是这样:
-
+
然后每次移动掩码,来和当前位进行计算:
-
+
根据分析,完成代码:
@@ -92,7 +92,7 @@ public class Solution {
执行结果:
-
+
注意:这里判断 n&mask 的时候,千万不要错写成 (n&mask) == 1,因为这里你对比的是十进制数。(恰好这个题我之前面试别人的时候问到过,对方就直接这么写了...)
@@ -104,7 +104,7 @@ public class Solution {
大家是否还记得昨天学会的技巧,昨天的题目我们通过计算 n & n-1 的值,来判断是否是 2 的幂。今天我们继续使用这个技巧,观察一下,**对于任意一个数,将 n 和 n-1 进行 & 运算,我们都可以把 n 中最低位的 1 变成 0**。比如下面这两对数:
-
+
那下面就简单了,只需要不断进行这个操作就可以了。(翻CPP牌子,有没有好评的?)
@@ -126,7 +126,7 @@ public:
肯定有人又是看的一脸懵逼,我们拿 11 举个例子:(注意最后一位1变成0的过程)
-
+
+
根据分析,得出代码:(c 版本)
@@ -112,7 +112,7 @@ class Solution:
执行结果:
-
+
## 03、题目进阶
diff --git "a/website/1.8.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/804/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/11.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/804/1.jpg"
similarity index 100%
rename from "website/1.8.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/804/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/11.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/804/1.jpg"
diff --git "a/website/1.8.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/804/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/11.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/804/2.jpg"
similarity index 100%
rename from "website/1.8.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/804/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/11.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/804/2.jpg"
diff --git "a/website/1.8.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/805.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/11.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/805.md"
similarity index 92%
rename from "website/1.8.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/805.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/11.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/805.md"
index cf63711b..589c3edd 100644
--- "a/website/1.8.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/805.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/11.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/805.md"
@@ -1,7 +1,7 @@
----
-title: 只出现一次的数字Ⅱ(137)
+
+## 只出现一次的数字Ⅱ(137)
date: 2020-06-23
----
+
> 昨天我们在“除了某个元素只出现一次以外,其余每个元素均出现二次”的条件下,通过使用“异或”的操作,找到了只出现一次的元素。那对于其余每个元素均出现三次的case,我们应该如何解决呢?一起来看下吧。
@@ -73,7 +73,7 @@ func singleNumber(nums []int) int {
执行结果:
-
+
## 03、数学方式
@@ -87,7 +87,7 @@ func singleNumber(nums []int) int {
也就是说,如果把**原数组去重、再乘以3得到的值,刚好就是要找的元素的2倍**。举个例子:
-
+
利用这个性质,进行求解:(python代码如下,这里要注意的是,使用int可能会因为超出界限报错)
@@ -99,7 +99,7 @@ class Solution:
执行结果:
-
+
## 04、位运算
@@ -113,15 +113,15 @@ class Solution:
假如我们有 [21,21,26] 三个数,是下面这样:
-
+
回想一下,之所以能用“**异或**”,其实我们是完成了一个 **同一位上有2个1清零** 的过程。上面的图看起来可能容易,如果是这样 (下图应为26^21):
-
+
那对于“每个其余元素,均出现了三次”也是一样,如果我们可以完成 **一个同一位上的三个1清零的过程,** 也就是 a ?a ?a = 0,问题则迎刃冰解。那因为各语言中都没有这样一个现成的方法可以使用,所以我们需要构造一个。(想象一下,位运算也是造出来的对不对?)
-
+
如何构造,这里先说第一种方法(注意,到这里我们的问题已经转化成了定义一种 a ? a ? a = 0 的运算),观察一下“异或”运算:
@@ -130,7 +130,7 @@ class Solution:
+
**砍掉进位的过程,是不是又可以理解为对 2 进行取模**,也就是取余。到了这里,问题已经非常非常明确了。那我们要完成一个 a ? a ? a = 0 的运算,是不是其实就是让其二进制的每一位数都相加,最后再对 3 进行一个取模的过程呢?(一样,如果要定义一个 a ? a ? a ? a = 0 的运算,那就最后对 4 进行取模就可以了)
@@ -154,19 +154,19 @@ func singleNumber(nums []int) int {
如果对上面的代码不能理解,可以看看这个图,假设只有一个数 [21],我们通过不断右移的方式,获取其每一位上的1。当然,这里因为余数都是1,所以肯定都保留了下来,然后与 1 进行 “与”运算,最终再将其放入到对应的位数上。
-
+
执行结果:
-
+
在上面的代码中,**我们通过一个number,来记录每一位数出现的次数**。但是缺点是,我们记录了64位(Go语言中,int为32位以上)
-
+
那如果我们可以同时对所有位进行计数,是不是就可以简化过程。因为我们的目的是把每一位与3取模进行运算,是不是就可以理解为其实是一个**三进制**。如果大家听不懂三进制的话,可以简单理解为3次一循环,也就是 00 - 01 - 10 - 11。但是又因为对于 11 这种情况,我们需要砍掉(上面已经说过了,相当于 11 - 00 的转化),所以我们就只有3个状态,00 - 01 - 10,所以我们采用 a 和 b 来记录状态。其中的状态转移过程如下:
-
+
这里 a‘ 和 b’ 的意思代表着 a 和 b 下一次的状态。next 代表着下一个 bit 位对应的值。然后这是什么,不就是状态机嘛。。。我们通过 a 和 b 的状态变化,来完成次数统计。
@@ -220,7 +220,7 @@ class Solution {
当然,这个解法就相当牛皮了,反正我第一次做肯定是想不到的。。。我看了一下,第一个给出这个解法的人,应该是一位国外的工程师(某扣上面有很多人其实都是把题解翻译过来的,当然我有时也会哈哈哈哈,我觉得这某种意义上讲也是一个好的现象,挺好)不过毕竟非原创,还是得说明一下!
-
+
+>
+
- 2 + 3 + 1 + 5 = 11
- (1 5) * 5 / 2=15
@@ -87,7 +87,7 @@ class Solution {
执行结果:
-
+
## 03、位运算求解
diff --git "a/website/1.8.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/806/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/11.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/806/1.jpg"
similarity index 100%
rename from "website/1.8.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/806/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/11.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/806/1.jpg"
diff --git "a/website/1.8.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/806/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/11.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/806/2.jpg"
similarity index 100%
rename from "website/1.8.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/806/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/11.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/806/2.jpg"
diff --git "a/website/1.8.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/806/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/11.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/806/3.jpg"
similarity index 100%
rename from "website/1.8.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/806/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/11.\344\275\215\350\277\220\347\256\227\347\263\273\345\210\227/806/3.jpg"
diff --git "a/website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/901.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/901.md"
similarity index 97%
rename from "website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/901.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/901.md"
index db8c0141..f4f382d0 100644
--- "a/website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/901.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/901.md"
@@ -1,7 +1,7 @@
----
-title: 爱吃香蕉的珂珂(875)
+
+## 爱吃香蕉的珂珂(875)
date: 2020-06-30
----
+
## 01、题目示例
@@ -72,15 +72,15 @@ date: 2020-06-30
在最简单的形式中,二分查找对具有指定左索引和右索引的**连续序列**进行操作。我们也称之为**查找空间**。二分查找维护查找空间的左、右和中间指示符,并比较查找目标;如果条件不满足或值不相等,则清除目标不可能存在的那一半,并在剩下的一半上继续查找,直到成功为止。
-
+
举例说明:比如你需要找1-100中的一个数字,你的目标是**用最少的次数**猜到这个数字。你每次猜测后,我会说大了或者小了。而你只需要每次猜测中间的数字,就可以将余下的数字排除一半。
-
+
不管我心里想的数字如何,你在7次之内都能猜到,这就是一个典型的二分查找。每次筛选掉一半数据,所以我们也称之为 **折半查找**。一般而言,对于包含n个元素的列表,用二分查找最多需要log2n步。
-
+
当然,一般题目不太可能给你一个如此现成的题型,让你上手就可以使用二分,所以我们需要思考,如何来构造一个成功的二分查找。大部分的二分查找,基本都由以下三步组成:
@@ -224,7 +224,7 @@ public class Solution {
执行结果:
-
+
+
很容易观察出,当 x>2 时,它的**整数平方根**一定小于等于 x/2 。即有 0 < 整数平方根 <= x/2。所以我们的问题转化为在 [0,x/2] 中找一个**特定值**,满足二分查找的条件。(当然,如果没有想到使用 x/2 作为 Right 而 直接使用 x ,其实也是可以的)
diff --git "a/website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/902/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/902/1.jpg"
similarity index 100%
rename from "website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/902/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/902/1.jpg"
diff --git "a/website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/903.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/903.md"
similarity index 96%
rename from "website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/903.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/903.md"
index 1df4f10c..e0e3a046 100644
--- "a/website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/903.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/903.md"
@@ -1,7 +1,7 @@
----
-title: 第一个错误的版本(287)
+
+## 第一个错误的版本(287)
date: 2020-06-30
----
+
> 如果你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的,所以我们需要回滚代码,那如何能找到错误的版本呢?
@@ -51,11 +51,11 @@ public int firstBadVersion(int n) {
我们自然是采用二分的思想,来进行查找。举个例子,比如我们版本号对应如下:
-
+
如果中间的mid如果是错误版本,那我们就知道 mid 右侧都不可能是第一个错误的版本。那我们就令 right = mid,把下一次搜索空间变成[left, mid],然后自然我们很顺利查找到目标。
-
+
根据分析,代码如下:
diff --git "a/website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/903/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/903/1.jpg"
similarity index 100%
rename from "website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/903/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/903/1.jpg"
diff --git "a/website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/903/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/903/2.jpg"
similarity index 100%
rename from "website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/903/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/903/2.jpg"
diff --git "a/website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/904.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/904.md"
similarity index 90%
rename from "website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/904.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/904.md"
index e20b4fd1..b2442064 100644
--- "a/website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/904.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/904.md"
@@ -1,7 +1,7 @@
----
-title: 旋转排序数组中的最小值Ⅰ(153)
+
+## 旋转排序数组中的最小值Ⅰ(153)
date: 2020-07-03
----
+
> 今天继续为大家讲解二分查找,分享一道知乎面试题。话不多说,直接看题。
@@ -37,27 +37,27 @@ date: 2020-07-03
当然,本题可以直接暴力搜索,但是这就就会被面试官撵出去。为了不被他撵出去,我们还是使用二分更为稳妥!**在二分搜索中,我们找到区间的中间点并根据某些条件决定去区间左半部分还是右半部分搜索**。但是麻烦的是,我们的数组被旋转了,因此肯定不能直接使用二分。那我们需要先观察一下,假若我们的原始数组如下:
-
+
无论怎么旋转,我们都可以得到一个结论,首元素 > 尾元素,像是下面这样。虽然不知道这个结论有什么用,但是我们先记下来。
-
+
继续进行观察,上面其实是两种极端情况,那如果普通的情况旋转,大概是下面这样:
-
+
问题似乎变得简单了,旋转将原数组一分为二,并且我们已知了首元素值总是大于尾元素,那我们只要找到将其一分为二的那个点(该点左侧的元素都大于首元素,该点右侧的元素都小于首元素),是不是就可以对应找到数组中的最小值。
-
+
然后我们通过二分来进行查找,先找到中间节点mid,如果中间元素大于首元素,我们就把mid向右移动。
-
+
如果中间元素小于首元素,我们就把mid向左移动。
-
+
根据分析,完成题解:
@@ -120,7 +120,7 @@ int findMin(int* nums, int numsSize){
执行结果:
-
+
## 03、课后思考
diff --git "a/website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/904/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/904/1.jpg"
similarity index 100%
rename from "website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/904/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/904/1.jpg"
diff --git "a/website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/904/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/904/2.jpg"
similarity index 100%
rename from "website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/904/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/904/2.jpg"
diff --git "a/website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/904/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/904/3.jpg"
similarity index 100%
rename from "website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/904/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/904/3.jpg"
diff --git "a/website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/904/4.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/904/4.jpg"
similarity index 100%
rename from "website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/904/4.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/904/4.jpg"
diff --git "a/website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/904/5.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/904/5.jpg"
similarity index 100%
rename from "website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/904/5.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/904/5.jpg"
diff --git "a/website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/904/6.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/904/6.jpg"
similarity index 100%
rename from "website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/904/6.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/904/6.jpg"
diff --git "a/website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/904/7.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/904/7.jpg"
similarity index 100%
rename from "website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/904/7.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/904/7.jpg"
diff --git "a/website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/905.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/905.md"
similarity index 92%
rename from "website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/905.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/905.md"
index 9af7d12d..90b1c00a 100644
--- "a/website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/905.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/905.md"
@@ -1,7 +1,7 @@
----
-title: 旋转排序数组中的最小值Ⅱ(154)
+
+## 旋转排序数组中的最小值Ⅱ(154)
date: 2020-07-03
----
+
> 今天继续为大家讲解二分法系列篇 - 旋转排序数组最小值Ⅱ(进阶版)。话不多说,直接看题:
@@ -38,9 +38,9 @@ date: 2020-07-03
> 之前我也说过,通过改变题中条件,使得题目难度上升的做法。在算法题目的设计中,是一种非常常见的手段。本题就是这样,从中等变成了困难。
-
+
-
+
在讲解本题之前,首先要对昨天的题目进行一个答疑。昨天有人问我为什么题目中讲的是与left进行比较,但是最后代码中写的时候变成了和right比较。这个确实是我讲的时候讲忘了,但是这其实是一个思维转化的问题:因为在旋转之前的原数组是一个递增序列,那一定是左边的数小,右边的数大,而我们要找的是最小值,所以比较偏向左找。那如果和left进行比较,其实也是完全ok的,那我们的思路就变成了找到偏右的最大值,进而向右再移动一位,自然也就是最小值。如果不能理解的话,可以回顾一下昨天的文章:
@@ -80,10 +80,10 @@ func findMin(nums []int) int {
对比一下下面两个图:
-
+
+
+
+
因为 mid 和 right 相等时,最小值既可能在左边,又可能在右边,所以此时自然二分思想作废,咱们就砍掉一个右边界。说白了,就是**让子弹再飞一会儿**。
diff --git "a/website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/905/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/905/1.jpg"
similarity index 100%
rename from "website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/905/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/905/1.jpg"
diff --git "a/website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/905/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/905/2.jpg"
similarity index 100%
rename from "website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/905/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/905/2.jpg"
diff --git "a/website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/905/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/905/3.jpg"
similarity index 100%
rename from "website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/905/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/905/3.jpg"
diff --git "a/website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/905/4.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/905/4.jpg"
similarity index 100%
rename from "website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/905/4.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/905/4.jpg"
diff --git "a/website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/905/5.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/905/5.jpg"
similarity index 100%
rename from "website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/905/5.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/905/5.jpg"
diff --git "a/website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/905/6.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/905/6.jpg"
similarity index 100%
rename from "website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/905/6.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/905/6.jpg"
diff --git "a/website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/906.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/906.md"
similarity index 95%
rename from "website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/906.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/906.md"
index 897a51d1..84def6c5 100644
--- "a/website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/906.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/906.md"
@@ -1,11 +1,11 @@
----
-title: 供暖器(475)
+
+## 供暖器(475)
date: 2020-07-06
----
+
> 当然不能让你真的去修供暖器,但是如果你真的很有兴趣,可以参考下面步骤:
-
+
今天为大家分享一道腾讯校招面试题,话不多说,一起来看题吧。
@@ -53,7 +53,7 @@ date: 2020-07-06
这个题目还是比较有趣的,解题的关键在于读懂题意:我们要对任意一个房屋供暖,要么用前面的暖气,要么用后面的暖气,两者之间取最近的,这就是距离。同时,如果要覆盖到所有的房屋,我们要选择上述距离中最大的一段,这就是最小的加热半径。
-
+
当然,我们可以采用暴力题解,通过双层遍历,第一层:遍历所有的房子,第二层:遍历加热器,找出距离该房子的最小距离。但是我们其实可以通过二分搜索来优化这个过程。
@@ -95,7 +95,7 @@ public:
最后还有一点要强调的就是:代码在刚开始的时候进行了一次排序。这个也是容易进入的误区,题目给的样例给人一种错觉 “提供的就是有序数组”,其实题中并没有说明,我第一次就犯了这样的错误。如果去掉排序的代码,就会报错:
-
+
## 03、其他
diff --git "a/website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/906/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/906/1.jpg"
similarity index 100%
rename from "website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/906/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/906/1.jpg"
diff --git "a/website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/906/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/906/2.jpg"
similarity index 100%
rename from "website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/906/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/906/2.jpg"
diff --git "a/website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/906/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/906/3.jpg"
similarity index 100%
rename from "website/1.9.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/906/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/12.\344\272\214\345\210\206\346\263\225\347\263\273\345\210\227/906/3.jpg"
diff --git "a/website/1.41.\345\233\236\346\272\257\347\263\273\345\210\227/1.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/13.\345\233\236\346\272\257\347\263\273\345\210\227/1.md"
similarity index 92%
rename from "website/1.41.\345\233\236\346\272\257\347\263\273\345\210\227/1.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/13.\345\233\236\346\272\257\347\263\273\345\210\227/1.md"
index 5746bbb2..59dd190a 100644
--- "a/website/1.41.\345\233\236\346\272\257\347\263\273\345\210\227/1.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/13.\345\233\236\346\272\257\347\263\273\345\210\227/1.md"
@@ -1,7 +1,7 @@
----
-title: 全排列算法
+
+## 全排列算法
date: 2020-07-11
----
+
> 今天为大家分享如何用算法来求全排列!话不多说,直接看题!
@@ -13,7 +13,7 @@ date: 2020-07-11
比如 [1,2,3] 全排列共有 6 种:
-
+
## 02、全排列题目
@@ -47,7 +47,7 @@ date: 2020-07-11
假如我们不是做算法题,而是做数学题。我们会一个位置一个位置的来考虑,先写出以1开头的排列,再写出以2开头的排列,最后写出以3开头的排列。
-
+
这种思路是不是很像深度优先(DFS)的求解过程呢?
@@ -55,19 +55,19 @@ date: 2020-07-11
1、我们先选择 1,然后为 1 的第二位选择 2,此时 1 的 第三位只能选择 3。
-
+
2、然后完成了上面的步骤,我们需要回退到 1,因为只有 1 这里还存在别的选择 1-3,然后填写 1-3 后,只有 1-3-2 一种选择。
-
+
3、此时我们需要从 1-3-2,回退到 1-3,再回退到 1,再回退到 根节点,然后重新选择 2。
-
+
4、后面的流程与前面相似,我就不一步步的描述了。
-
+
当然,如果不省略其回溯过程,就是下面这个样子:
@@ -109,7 +109,7 @@ class Solution {
假若 nums 为 [1,2,3],会有下面的输出:
-
+
其实这个代码还是很容易理解的,他干了个啥事?就是当我们按顺序去枚举每一位时,我们要把已经选择过的数字排除掉(第16行代码),比如我们上面选择三个数字:
@@ -135,7 +135,7 @@ class Solution {
这是最简单的一道全排列题目,注意我在上面的题解中,并没有引入什么状态、路径、选择列表、结束条件之类的专业术语,甚至我连回溯的概念都没有提及。
-
+
之所以这样讲,我是希望咱可以从最简单的人类思考出发,而不是去套用一些框架之类的东东。。。。当然,至于更多的概念和回溯框架的东西,我会在后面更为复杂的题目中为大家引入。
diff --git "a/website/1.41.\345\233\236\346\272\257\347\263\273\345\210\227/1/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/13.\345\233\236\346\272\257\347\263\273\345\210\227/1/1.jpg"
similarity index 100%
rename from "website/1.41.\345\233\236\346\272\257\347\263\273\345\210\227/1/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/13.\345\233\236\346\272\257\347\263\273\345\210\227/1/1.jpg"
diff --git "a/website/1.41.\345\233\236\346\272\257\347\263\273\345\210\227/1/1.mp4" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/13.\345\233\236\346\272\257\347\263\273\345\210\227/1/1.mp4"
similarity index 100%
rename from "website/1.41.\345\233\236\346\272\257\347\263\273\345\210\227/1/1.mp4"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/13.\345\233\236\346\272\257\347\263\273\345\210\227/1/1.mp4"
diff --git "a/website/1.41.\345\233\236\346\272\257\347\263\273\345\210\227/1/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/13.\345\233\236\346\272\257\347\263\273\345\210\227/1/2.jpg"
similarity index 100%
rename from "website/1.41.\345\233\236\346\272\257\347\263\273\345\210\227/1/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/13.\345\233\236\346\272\257\347\263\273\345\210\227/1/2.jpg"
diff --git "a/website/1.41.\345\233\236\346\272\257\347\263\273\345\210\227/1/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/13.\345\233\236\346\272\257\347\263\273\345\210\227/1/3.jpg"
similarity index 100%
rename from "website/1.41.\345\233\236\346\272\257\347\263\273\345\210\227/1/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/13.\345\233\236\346\272\257\347\263\273\345\210\227/1/3.jpg"
diff --git "a/website/1.41.\345\233\236\346\272\257\347\263\273\345\210\227/1/4.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/13.\345\233\236\346\272\257\347\263\273\345\210\227/1/4.jpg"
similarity index 100%
rename from "website/1.41.\345\233\236\346\272\257\347\263\273\345\210\227/1/4.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/13.\345\233\236\346\272\257\347\263\273\345\210\227/1/4.jpg"
diff --git "a/website/1.41.\345\233\236\346\272\257\347\263\273\345\210\227/1/5.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/13.\345\233\236\346\272\257\347\263\273\345\210\227/1/5.jpg"
similarity index 100%
rename from "website/1.41.\345\233\236\346\272\257\347\263\273\345\210\227/1/5.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/13.\345\233\236\346\272\257\347\263\273\345\210\227/1/5.jpg"
diff --git "a/website/1.41.\345\233\236\346\272\257\347\263\273\345\210\227/1/6.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/13.\345\233\236\346\272\257\347\263\273\345\210\227/1/6.jpg"
similarity index 100%
rename from "website/1.41.\345\233\236\346\272\257\347\263\273\345\210\227/1/6.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/13.\345\233\236\346\272\257\347\263\273\345\210\227/1/6.jpg"
diff --git "a/website/1.41.\345\233\236\346\272\257\347\263\273\345\210\227/1/7.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/13.\345\233\236\346\272\257\347\263\273\345\210\227/1/7.jpg"
similarity index 100%
rename from "website/1.41.\345\233\236\346\272\257\347\263\273\345\210\227/1/7.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/13.\345\233\236\346\272\257\347\263\273\345\210\227/1/7.jpg"
diff --git "a/website/1.41.\345\233\236\346\272\257\347\263\273\345\210\227/1/8.gif" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/13.\345\233\236\346\272\257\347\263\273\345\210\227/1/8.gif"
similarity index 100%
rename from "website/1.41.\345\233\236\346\272\257\347\263\273\345\210\227/1/8.gif"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/13.\345\233\236\346\272\257\347\263\273\345\210\227/1/8.gif"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/01.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/01.md"
similarity index 87%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/01.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/01.md"
index 04630517..901c96f1 100644
--- "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/01.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/01.md"
@@ -1,7 +1,7 @@
----
-title: 螺旋矩阵Ⅰ(54)
+
+## 螺旋矩阵Ⅰ(54)
date: 2020-06-15
----
+
> 今天为大家分享一道关于**螺旋矩阵**的问题。话不多说,直接看题目吧。
@@ -65,7 +65,7 @@ date: 2020-06-15
数组如下图所示:
-
+
我们首先对其设置好四个边界:
@@ -78,29 +78,29 @@ right := len(matrix[0]) - 1
如下图所示:
-
+
同时,我们定义x和y,来代表行和列。
如x=2,y=1,则 arr[2][1]=10(第3行第2列)
-
+
然后我们从第一个元素开始行军(y=left),完成第一行的遍历,直到碰壁。(y<=right)
-
+
下面关键的一步来了,**因为第一行已经走过了,我们将上界下调** **(up++)**,同时转弯向下走。
-
+
直到碰到底部时(x<=down),我们将**右界左调(right--)**,转弯向左走。
-
+
后面向左和向上,分别完成**下界上调(down--)**和**左界右调(left++)**。
-
+
最后,对剩下的矩阵重复整个过程,直到上下、左右的壁与壁碰在一起 **(up <= down && left <= right,这是避免碰壁的条件)**。
@@ -149,4 +149,4 @@ func avoid(left, right, up, down int) bool {
执行结果:
-
\ No newline at end of file
+
\ No newline at end of file
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/01/1.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/01/1.png"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/01/1.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/01/1.png"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/01/2.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/01/2.png"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/01/2.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/01/2.png"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/01/3.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/01/3.png"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/01/3.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/01/3.png"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/01/4.jpeg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/01/4.jpeg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/01/4.jpeg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/01/4.jpeg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/01/5.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/01/5.png"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/01/5.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/01/5.png"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/01/6.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/01/6.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/01/6.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/01/6.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/01/7.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/01/7.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/01/7.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/01/7.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/01/8.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/01/8.png"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/01/8.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/01/8.png"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/02.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/02.md"
similarity index 87%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/02.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/02.md"
index 36bf2764..abe27b70 100644
--- "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/02.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/02.md"
@@ -1,7 +1,7 @@
----
-title: 只有两个键的键盘(650)
+
+## 只有两个键的键盘(650)
date: 2020-06-15
----
+
>今天为大家分享一道关于 **“复制” + “粘贴”** 的题目。话不多说,直接看题吧。
@@ -41,23 +41,23 @@ n 的取值范围是 [1, 1000] 。
我们从最简单的开始分析,假如我们给定数字为1,那啥也不用做,因为面板上本来就有一个A。
-
+
假如我们给定数字为2,那我们需要做C-P,共计2次操作来得到。
-
+
假如我们给定数字为3,那我们需要做C-P-P,共计3次操作来得到。
-
+
假如我们给定数字为4,我们发现好像变得不一样了。因为我们有两种方法都可以得到目标。(C-P-C-P)
-
+
或者(C-P-P-P)
-
+
但是需要的步骤还是一样。
@@ -73,7 +73,7 @@ n 的取值范围是 [1, 1000] 。
比如30,可以分解为:3*2*5。什么意思呢?我们演示一遍:首先复制1,进行2次粘贴得到3。然后复制3,进行1次粘贴得到6。然后复制6,进行4次粘贴得到30。总共需要(CPPCPCPPPP)
-
+
> 注意:这里由于每一次都需要进行一次复制,**所以直接就等于分解质因数的操作次数的和**。并且分解的顺序,不会影响到结果。
@@ -106,4 +106,4 @@ func minSteps(n int) int {
执行结果:
-
\ No newline at end of file
+
\ No newline at end of file
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/02/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/02/1.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/02/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/02/1.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/02/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/02/2.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/02/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/02/2.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/02/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/02/3.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/02/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/02/3.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/02/4.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/02/4.png"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/02/4.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/02/4.png"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/02/5.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/02/5.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/02/5.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/02/5.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/02/6.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/02/6.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/02/6.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/02/6.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/02/7.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/02/7.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/02/7.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/02/7.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/03.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/03.md"
similarity index 99%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/03.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/03.md"
index 9a7cdce8..499f882e 100644
--- "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/03.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/03.md"
@@ -1,7 +1,7 @@
----
-title: 24点游戏(679)
+
+## 24点游戏(679)
date: 2020-06-15
----
+
>“**24点**”是一种数学游戏,正如象棋、围棋一样是一种人们喜闻乐见的娱乐活动。它始于何年何月已无从考究,但它以自己独具的数学魅力和丰富的内涵正逐渐被越来越多的人们所接受。今天就为大家分享一道关于“24点”的算法题目。
>
@@ -258,7 +258,7 @@ func judgePoint24_2(a, b float64) bool {
执行结果:
-
+
+
两个位置两个人,第一个人已经坐下,要么坐对了,要么坐错了。所以第二个人坐在自己位置上的概率是50%。
-
+
重点来了,三个位置三个人,第一个一屁股坐下,有三种坐法。
如果恰好**第一个人坐到了自己的座位**上(1/3),那这种情况下,第二个人也就可以直接坐在自己的座位上,第三个人一样。所以此时第三人坐在自己座位上的可能性是 100%。
-
+
如果**第一个人占掉了第二个人的位置(1/3)。** 此时第二人上来之后,要么坐在第一人的位置上,要么坐在第三人的位置上。(1/2)所以,在这种情况下,第三人的座位被占的可能性是 1/3*1/2=1/6。
-
+
那假如第一人直接一屁股坐在第三人的座位上,此时第三人的座位被占的可能性就是第一人选择第三人座位的可能性。(1/3)
-
+
所以,如果三个座位三个人,第三个人坐到自己位置上的概率就是:1-1/6-1/3=1/2。当然,也可以通过 1/3+1/6=1/2 来正向计算。
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/04/1.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/04/1.png"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/04/1.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/04/1.png"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/04/2.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/04/2.png"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/04/2.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/04/2.png"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/04/3.jpeg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/04/3.jpeg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/04/3.jpeg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/04/3.jpeg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/04/4.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/04/4.png"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/04/4.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/04/4.png"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/04/5.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/04/5.png"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/04/5.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/04/5.png"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/04/6.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/04/6.png"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/04/6.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/04/6.png"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/05.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/05.md"
similarity index 99%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/05.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/05.md"
index 6d2bfac1..c46808f6 100644
--- "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/05.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/05.md"
@@ -1,7 +1,7 @@
----
-title: 水分子的产生
+
+## 水分子的产生
date: 2020-06-16
----
+
> 今天为大家分享一道看起来 **“高大上”** 的题目。
>
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/06.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/06.md"
similarity index 98%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/06.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/06.md"
index 3b0d1036..f10346ac 100644
--- "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/06.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/06.md"
@@ -1,7 +1,7 @@
----
-title: 救生艇(881)
+
+## 救生艇(881)
date: 2020-06-16
----
+
>小浩算法改版了,大家看一下风格怎么样,还喜欢吗?所有的排版,绘图,文案,题解都是由小浩一人完成哦~
>
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/07.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/07.md"
similarity index 94%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/07.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/07.md"
index 46561bc6..faa24955 100644
--- "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/07.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/07.md"
@@ -1,7 +1,7 @@
----
-title: 25匹马的经典问题
+
+## 25匹马的经典问题
date: 2020-06-16
----
+
>今天为大家分享一道非常经典的面试题,和马有关。无论是校招,还是社招,在各大公司都出现过,我也曾经问过别人。
>
@@ -25,15 +25,15 @@ date: 2020-06-16
- 5次:首先我们把25匹马分成5组(A、B、C、D、E),跑上五次,得到每组的第一名。
-
+
- 1次:然后我们让这5个第一名跑上一次,得到其中的前三名。**注意:这里就可以得到所有马中跑的最快的第一名A1了。并且,D1和E1所在的组可以直接淘汰。第二名和第三名一定不会在其中产生!**
-
+
- 1次:因为我们已经跑出了第一名,所以A1不需要再参加比赛,同时,D1和E1所在的组已经淘汰。C1作为第三组的第一名,C组不会有跑的比C1快的。而B2有可能是比C1跑的快的第三名。同理,A2和A3也有可能是比B1和B2跑的快的。所以第7次比赛,我们让**A2,A3,B1,B2,C1**来一起完成。(求大家不要怪我啰嗦,,,我是实在担心有那么几个同学听不懂...)
-
+
最终,我们**通过7次比赛**,得到25匹马中的前三名。
@@ -45,7 +45,7 @@ date: 2020-06-16
在上面的的分析中,我们已经明确了第一名。**但是第二名和第三名,是可以在A2-A3-B1-B2-C1中产生的**,我们需要分别进行讨论。
-
+
- 假若二三名分别为:A2,A3
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/07/1.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/07/1.png"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/07/1.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/07/1.png"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/07/2.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/07/2.png"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/07/2.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/07/2.png"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/07/3.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/07/3.png"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/07/3.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/07/3.png"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/07/4.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/07/4.png"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/07/4.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/07/4.png"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/08.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/08.md"
similarity index 92%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/08.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/08.md"
index 7fe23965..bbb755eb 100644
--- "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/08.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/08.md"
@@ -1,7 +1,7 @@
----
-title: 灯泡开关(319)
+
+## 灯泡开关(319)
date: 2020-06-17
----
+
> 今天为大家分享一道关于 **"电灯泡"** 的题目。
>
@@ -35,19 +35,19 @@ date: 2020-06-17
我们模拟一下n从1到12的过程。在第一轮,你打开了12个灯泡:
-
+
因为对于大于n的灯泡你是不care的,所以我们用黑框框表示:
-
+
然后我们列出n从1-12的过程中所有的灯泡示意图:
-
+
可以得到如下表格:
-
+
观察一下,这是什么?观察不出来,咱们看看这个:
@@ -90,7 +90,7 @@ public:
执行结果:
-
+
## 03、证明
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/08/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/08/1.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/08/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/08/1.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/08/2.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/08/2.png"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/08/2.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/08/2.png"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/08/3.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/08/3.png"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/08/3.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/08/3.png"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/08/4.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/08/4.png"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/08/4.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/08/4.png"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/08/5.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/08/5.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/08/5.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/08/5.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/09.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/09.md"
similarity index 94%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/09.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/09.md"
index ba162c6d..4e20337c 100644
--- "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/09.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/09.md"
@@ -1,7 +1,7 @@
----
-title: 三门问题
+
+## 三门问题
date: 2020-06-17
----
+
> 三门问题(Monty Hall problem)亦称为蒙提霍尔问题、蒙特霍问题或蒙提霍尔悖论,出自美国的电视游戏节目Let's Make a Deal。今天为大家进行完整分析。
>
@@ -35,11 +35,11 @@ date: 2020-06-17
我们用一个很通俗的方法,能让你一听就懂。首先刚开始选择的一扇门的概率为1/3,而另外两扇门的总概率为2/3。
-
+
现在上帝打开了其中一扇为恶魔的门,我们知道这个门后面不会再有天使,所以相当于这部分概率被第三个门持有。
-
+
剩下的那扇门的概率(2/3)相当于刚开始选择的门(1/3)的二倍。所以我们得换。
@@ -47,7 +47,7 @@ date: 2020-06-17
如果还没有听懂。我们可以假设有一百扇门,里边有99只都是恶魔。现在你随机选择一扇门,选择到天使的概率是1/100。
-
+
这时,上帝打开其中的98扇,里边都是恶魔。这时候就相当于99/100的概率都集中在了另一扇门里。自然,我们需要选择换。
@@ -82,6 +82,6 @@ func main() {
跑了一百万次,结果当然不让我们失望!执行结果为:
-
+
所以,今天的问题你听明白了吗?评论区留下你的想法吧!
\ No newline at end of file
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/09/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/09/1.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/09/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/09/1.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/09/2.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/09/2.png"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/09/2.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/09/2.png"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/09/3.jpeg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/09/3.jpeg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/09/3.jpeg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/09/3.jpeg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/09/4.jpeg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/09/4.jpeg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/09/4.jpeg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/09/4.jpeg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/09/5.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/09/5.png"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/09/5.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/09/5.png"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/10.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/10.md"
similarity index 94%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/10.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/10.md"
index 698b577e..e1d5d2d1 100644
--- "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/10.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/10.md"
@@ -1,7 +1,7 @@
----
-title: 猜数字游戏(299)
+
+## 猜数字游戏(299)
date: 2020-06-17
----
+
>今天为大家分享一道非常经典的题目,**猜数字**。话不多说,直接看题。
@@ -47,11 +47,11 @@ date: 2020-06-17
- 如果当前索引两个数字相同,就将公牛数加1。
-
+
- **如果不相同,我们将secret和guess当前索引位置处的数字通过map记录下来,统计他们出现的次数。**当然,之前我们讲过。有限的map,比如数字 0-10,字母 a-z,都可以通过**数组**来进行替换,用以压缩空间。
-
+
- 最后,如果记录的两个map中,**数字出现重叠**(可以通过最小值来判断),则意味着该数字在两边都出现过,就将母牛数加一(我就想说是母牛,不服来辩)
@@ -91,7 +91,7 @@ func min(a, b int) int {
执行结果:
-
+
## 04、奇怪的知识
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/10/1.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/10/1.png"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/10/1.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/10/1.png"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/10/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/10/2.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/10/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/10/2.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/10/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/10/3.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/10/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/10/3.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11.md"
similarity index 95%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11.md"
index 637be587..870902d4 100644
--- "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11.md"
@@ -1,7 +1,7 @@
----
-title: LRU缓存机制(146)
+
+## LRU缓存机制(146)
date: 2020-06-17
----
+
> 今天为大家分享很出名的 LRU 算法,第一讲共包括 4 节。
>
@@ -51,31 +51,31 @@ cache.get(4); // 返回 4
第一步:我们申明一个 LRUCache ,长度为 2。
-
+
第二步:我们分别向 cache 里边 put(1,1) 和 put(2,2),这里因为最近使用的是 2( put 也算作使用)所以2在前,1 在后。
-
+
第三步:我们 get(1),也就是我们使用了 1,所以需要将 1 移到前面。
-
+
第四步:此时我们 put(3,3),因为 2 是最近最少使用的,所以我们需要将 2 进行作废。此时我们再 get(2),就会返回 -1 。
-
+
第五步:我们继续 put(4,4),同理我们将 1 作废。此时如果 get(1) ,也是返回 -1 。
-
+
第六步:此时我们 get(3) ,实际为调整 3 的位置。
-
+
第七步:同理,get(4),继续调整 4 的位置。
-
+
## 03、LRU 实现(层层剖析)
@@ -124,7 +124,7 @@ func Constructor(capacity int) LRUCache {
大概是这样:
-
+
现在我们已经完成了 Cache 的构造,剩下的就是添加它的 API 了。因为 Get 比较简单,我们先完成 Get 方法。这里分两种情况考虑,如果没有找到元素,我们返回 -1。如果元素存在,我们需要把这个元素移动到首位置上去。
@@ -147,7 +147,7 @@ func (this *LRUCache) Get(key int) int {
大概就是下面这个样子(假若 2 是我们 get 的元素)
-
+
我们很容易想到这个方法后面还会用到,所以将其抽出。
@@ -248,7 +248,7 @@ func (this *LRUCache) Put(key int, value int) {
}
```
-
+
最后,我们完成所有代码:
@@ -389,7 +389,7 @@ func (this *LRUCache) Put(key int, value int) {
执行结果:
-
+
因为该算法过于重要,给一个 Java 版本的:
@@ -487,7 +487,7 @@ public class LRUCache {
上面我们说过了,**近似LRU是用随机抽样的方式来实现一个近似的LRU效果**。这个参数其实就是作者提供了一种方式,可以让我们人为干预样本数大小,将其设的越大,就越接近真实 LRU 的效果,当然也就意味着越耗内存。(初始值为 5 是作者默认的最佳)
-
+
这个图解释一下,绿色的点是新增加的元素,深灰色的点是没有被删除的元素,浅灰色的是被删除的元素。最下面的这张图,是真实 LRU 的效果,第二张图是默认该参数为 5 的效果,可以看到浅灰色部分和真实的契合还是不错的。第一张图是将该参数设置为 10 的效果,已经基本接近真实 LRU 的效果了。
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/1.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/1.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/10.jpeg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/10.jpeg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/10.jpeg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/10.jpeg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/11.jpeg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/11.jpeg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/11.jpeg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/11.jpeg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/12.jpeg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/12.jpeg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/12.jpeg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/12.jpeg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/2.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/2.png"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/2.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/2.png"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/3.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/3.png"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/3.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/3.png"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/4.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/4.png"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/4.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/4.png"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/5.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/5.png"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/5.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/5.png"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/6.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/6.png"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/6.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/6.png"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/7.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/7.png"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/7.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/7.png"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/8.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/8.png"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/8.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/8.png"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/9.jpeg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/9.jpeg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/9.jpeg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/11/9.jpeg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12.md"
similarity index 90%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12.md"
index 754ca5ad..c6212069 100644
--- "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12.md"
@@ -1,7 +1,7 @@
----
-title: 最小的k个数
+
+## 最小的k个数
date: 2020-06-18
----
+
> 今天分享一道比较简单的题目,希望大家可以5分钟掌握!
@@ -42,11 +42,11 @@ date: 2020-06-18
堆的特性是**父节点的值总是比其两个子节点的值大或小**。如果父节点比它的两个子节点的值都要大,我们叫做**大顶堆**。如果父节点比它的两个子节点的值都要小,我们叫做**小顶堆**。
-
+
我们对堆中的结点按层进行编号,将这种逻辑结构映射到数组中就是下面这个样子。
-
+
大顶堆,满足以下公式:
@@ -54,7 +54,7 @@ date: 2020-06-18
小顶堆也一样:
-
+
小顶堆,满足以下公式:
@@ -66,7 +66,7 @@ date: 2020-06-18
首先,我们创建一个大小为k的大顶堆。假如数组为[4,5,1,6,2,7,3,8],k=4。大概是下面这样:
-
+
我想肯定这里有不知道如何建堆的同学。记住:**对于一个没有维护过的堆(完全二叉树),我们可以从其最后一个节点的父节点开始进行调整**。这个不需要死记硬背,其实就是一个层层调节的过程。
@@ -74,15 +74,15 @@ date: 2020-06-18
从最后一个节点的父节点调整
-
+
继续向上调整
-
+
继续向上调整
-
+
建堆 调整的代码大概就是这样:(翻Java牌子)
@@ -131,11 +131,11 @@ private void swap(int[] nums, int i, int j) {
调整前
-
+
调整后
-
+
继续重复上述步骤,依次将7,3,8入堆。这里因为7和8都大于堆顶元素5,所以只有3会入堆。
@@ -143,11 +143,11 @@ private void swap(int[] nums, int i, int j) {
调整前
-
+
调整后
-
+
最后得到的堆,就是我们想要的结果。由于堆的大小是 K,所以这里空间复杂度是O(K),时间复杂度是O(NlogK)。
@@ -207,4 +207,4 @@ class Solution {
执行结果:
-
\ No newline at end of file
+
\ No newline at end of file
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/1.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/1.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/10.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/10.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/10.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/10.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/11.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/11.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/11.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/11.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/12.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/12.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/12.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/12.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/2.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/2.png"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/2.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/2.png"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/3.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/3.png"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/3.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/3.png"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/4.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/4.png"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/4.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/4.png"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/5.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/5.png"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/5.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/5.png"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/6.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/6.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/6.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/6.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/7.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/7.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/7.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/7.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/8.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/8.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/8.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/8.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/9.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/9.png"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/9.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/12/9.png"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/13.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/13.md"
similarity index 90%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/13.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/13.md"
index 00a65d35..bb5c3da5 100644
--- "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/13.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/13.md"
@@ -1,7 +1,7 @@
----
-title: 不同路径
+
+## 不同路径
date: 2020-06-18
----
+
> 今天为大家分享一道BAT常考题目,不同路径。
@@ -13,7 +13,7 @@ date: 2020-06-18
| ------------------------------------------------------------ |
| 一个机器人位于一个 m x n 网格的左上角,起始点在下图中标记为“Start”。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角,在下图中标记为“Finish”。 问:总共有多少条不同的路径? |
-
+
例如,上图是一个7 x 3 的网格。有多少可能的路径?
@@ -49,11 +49,11 @@ date: 2020-06-18
拿到题目,首先定义状态。因为有横纵坐标,明显属于二维DP。我们定义**DP[i][j]表示到达i行j列的最多路径**。同时,因为第0行和第0列都只有一条路径,所以需要初始化为1。
-
+
状态转移方程一目了然,dp[i][j] = dp[i-1][j] dp[i][j-1]。(想象你站在一个十字路口,到达这个十字路口可能的所有路径,就是从东南西北四个方向过来可能出现的所有路径和。放在这道题里,其实就是砍掉东南。)
-
+
根据分析,完成代码:
@@ -81,7 +81,7 @@ func uniquePaths(m int, n int) int {
执行结果:
-
+
## 03、代码优化
@@ -89,11 +89,11 @@ func uniquePaths(m int, n int) int {
在上文中,我们使用**二维数组**记录状态。但是这里观察一下,每一个格子可能的路径,**都是由左边的格子和上面的格子的总路径计算而来, 对于之前更早的数据,其实已经用不到了**。如下图,计算第三行时,已经用不到第一行的数据了。
-
+
那我们只要能定义一个状态,同时可以表示左边的格子和上面的格子,是不是就可以解决问题?所以我们定义状态dp[j],用来表示**当前行到达第j列的最多路径**。这个“当前行”三个字很重要,比如我们要计算dp[3],因为还没有计算出,所以这时dp[3]保存的其实是4(上一行的数据),而dp[2]由于已经计算出了,所以保存的是6(当前行的数据)。理解了这个,就理解如何压缩状态。
-
+
最后,根据分析得出代码:
@@ -116,4 +116,4 @@ func uniquePaths(m int, n int) int {
执行结果:
-
\ No newline at end of file
+
\ No newline at end of file
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/13/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/13/1.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/13/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/13/1.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/13/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/13/2.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/13/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/13/2.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/13/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/13/3.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/13/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/13/3.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/13/4.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/13/4.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/13/4.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/13/4.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/13/5.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/13/5.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/13/5.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/13/5.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/13/6.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/13/6.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/13/6.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/13/6.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/13/7.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/13/7.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/13/7.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/13/7.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/14.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/14.md"
similarity index 92%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/14.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/14.md"
index 7f96bce1..970ad8ec 100644
--- "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/14.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/14.md"
@@ -1,7 +1,7 @@
----
-title: 不同路径 - 障碍物
+
+## 不同路径 - 障碍物
date: 2020-06-18
----
+
上一篇为大家分享了不同路径的DP解法之后,有很多小伙伴后台给我留言,说直接用公式法一步就可以得到答案。给你们点个赞!确实是这样,我没有用公式法的原因,是因为我的目的是想层层推进难度为大家分析不同路径这一类题型。后面我会单独拉出一系列,专门为大家讲解公式法一类的题目。
@@ -19,7 +19,7 @@ date: 2020-06-18
| ------------------------------------------------------------ |
| 一个机器人位于一个 m x n 网格的左上角,起始点在下图中标记为“Start”。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角,在下图中标记为“Finish”。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径? 问总共有多少条不同的路径? |
-
+
网格中的障碍物和空位置分别用 1 和 0 来表示。
@@ -53,11 +53,11 @@ date: 2020-06-18
首先我们还是定义状态,**用DP[i][j]表示到达i行j列的最多路径**。同时,因为第0行和第0列都只有一条路径,所以需要初始化为1。但有一点不一样的就是:**如果在0行0列中遇到障碍物,后面的就都是0,意为此路不通**。
-
+
完成了初始化,下面就是状态转移方程。和没有障碍物的相比没什么特别的,仍然是dp[i][j] = dp[i-1][j] dp[i][j-1]。唯一需要处理的是:**如果恰好[i][j]位置上有障碍物,则dp[i][j]为0**。比如下图,有dp[1][2]为0。
-
+
根据分析,得出代码:(今天翻java牌子)
@@ -89,7 +89,7 @@ class Solution {
执行结果:
-
+
## 03、代码优化
@@ -97,11 +97,11 @@ class Solution {
为了大家更好的理解代码,我们还是绘图说明。假若我们的网格如下,其中黑色表示障碍物。
-
+
因为计算每一个格子能到达的最多路径,只需要左边和上边的元素,所以我们定义状态**dp[j]表示到达当前行第j位置的最多路径**。这里有一个需要额外说的,就是我们把dp[0]初始化为1,因为在到达第一行的第一个元素时,路径只有一个。下面的图,左边的表示当前网格,右边的是指网格中对应dp数组的值。
-
+
根据分析,得出代码:
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/14/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/14/1.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/14/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/14/1.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/14/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/14/2.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/14/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/14/2.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/14/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/14/3.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/14/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/14/3.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/14/4.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/14/4.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/14/4.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/14/4.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/14/5.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/14/5.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/14/5.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/14/5.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/14/6.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/14/6.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/14/6.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/14/6.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/15.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/15.md"
similarity index 99%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/15.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/15.md"
index b79af801..222e38f6 100644
--- "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/15.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/15.md"
@@ -1,7 +1,7 @@
----
-title: 伪蒙特卡洛
+
+## 伪蒙特卡洛
date: 2020-06-28
----
+
> 分享一道由群员“Melbourne”,外号 “Paper Machine”,有数学小王子之称的小伙伴分享的题目!
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/15/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/15/1.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/15/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/15/1.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/15/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/15/2.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/15/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/15/2.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16.md"
similarity index 79%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16.md"
index cbb7c3d4..b3b68755 100644
--- "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16.md"
@@ -1,8 +1,8 @@
----
+
-title: 盛最多水的容器
+## 盛最多水的容器
date: 2020-06-19
----
+
> 今天为大家分享一道鹅厂的面试题。话不多说,直接看题目。
@@ -16,7 +16,7 @@ date: 2020-06-19
说明:你不能倾斜容器,且 n 的值至少为 2。
-
+
图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。
@@ -39,35 +39,35 @@ date: 2020-06-19
假若我们的数组为:[1 8 6 2 5 4 8 3 7],长这样:
-
+
首先,我们初始化两个指针,分别指向两边,构成我们的第一个矩形区域。
-
+
我们尝试将长的一侧向短的一侧移动,发现对于区域面积增加没有任何意义。比如下图:
-
+
所以我们选择将短的一侧向长的一侧移动。根据木桶原理,水的高度取决于短的一侧。
-
+
继续重复这个过程,我们总是**选择将短的一侧向长的一侧移动**。并且在每一次的移动中,我们记录下来当前面积大小。(下面这些图,都是我拿PPT一张张做的....)
-
+
-
+
-
+
-
+
-
+
一直到两个棒子撞在一起。
-
+
根据分析,得到代码:(翻Java牌子)
@@ -90,11 +90,11 @@ class Solution {
> 可能有的朋友想让我证明一下。其实我觉得,这就是个木桶原理。木桶原理:**一只水桶能装多少水取决于它最短的那块木板**。
-
+
采用反证法进行证明:
-
+
>
+
移动n到n,如果n比m长,则有:
@@ -112,6 +112,6 @@ area = h(m) * (w-1)
有 area < area
-
+
所以,今天的问题你学会了吗?评论区留下你的想法!
\ No newline at end of file
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/1.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/1.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/10.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/10.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/10.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/10.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/11.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/11.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/11.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/11.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/12.jpeg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/12.jpeg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/12.jpeg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/12.jpeg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/13.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/13.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/13.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/13.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/14.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/14.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/14.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/14.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/15.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/15.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/15.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/15.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/2.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/2.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/3.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/3.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/4.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/4.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/4.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/4.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/5.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/5.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/5.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/5.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/6.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/6.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/6.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/6.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/7.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/7.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/7.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/7.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/8.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/8.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/8.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/8.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/9.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/9.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/9.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/16/9.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/17.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/17.md"
similarity index 89%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/17.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/17.md"
index 2e9c6762..3ff7b418 100644
--- "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/17.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/17.md"
@@ -1,7 +1,7 @@
----
-title: 扑克牌中的顺子容器
+
+## 扑克牌中的顺子容器
date: 2020-06-19
----
+
> 今天给分享一道比较简单的扑克牌题目。
@@ -40,15 +40,15 @@ date: 2020-06-19
顺子长这样:
-
+
因为此题本身属于简单到要屎系列,所以直接给题解。数组长度限制了是5,非常省事,意味着我们不需要一些额外的处理。拿到牌,第一个想法是啥?排序!我想打过牌的人,都会知道这点(想象那个插插插的过程)。**因为是5连,无论接没接到大小王,最小值和最大值之间,一定小于5**。
-
+
排序后,我们通过累积每两张牌之间的差值,来计算最小值和最大值中间的总差值。
-
+
拿到了王,就相当于拿到了通行证,直接跳过。
@@ -56,7 +56,7 @@ date: 2020-06-19
因为是排序的牌,如果接到对子,也就意味着不是五连,直接返回false。(怎么每次说到五连,我就想到“penta kill” )
-
+
根据分析,得出代码:(翻个go的牌子吧)
@@ -80,7 +80,7 @@ func isStraight(nums []int) bool {
执行结果:
-
+
## 03、不排序咋整
@@ -115,4 +115,4 @@ class Solution {
执行结果:
-
\ No newline at end of file
+
\ No newline at end of file
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/17/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/17/1.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/17/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/17/1.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/17/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/17/2.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/17/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/17/2.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/17/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/17/3.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/17/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/17/3.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/17/4.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/17/4.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/17/4.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/17/4.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/17/5.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/17/5.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/17/5.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/17/5.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/17/6.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/17/6.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/17/6.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/17/6.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/18.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/18.md"
similarity index 98%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/18.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/18.md"
index 801c1f31..6004573e 100644
--- "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/18.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/18.md"
@@ -1,7 +1,7 @@
----
-title: 整数拆分(343)
+
+## 整数拆分(343)
date: 2020-06-19
----
+
> 能跟着看到现在,大家都有点疲惫了。为了提高各位积极性,我打算每天在文首放一张女神的图(不为别的,只为激励大家,毕竟美女对男女都是通杀的。祝大家早日拿到理想offer,实现人生赢家)话不多说,直接看题!
@@ -39,7 +39,7 @@ date: 2020-06-19
要对一个整数进行拆分,并且要使这些拆分完后的因子的乘积最大。我们可以先尝试拆分几个数值,测试一下。
-
+
通过观察,首先肯定可以明确,**2 和 3 是没办法进行拆分的最小因子**。同时,我们好像能看出来:
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/18/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/18/1.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/18/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/18/1.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/19.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/19.md"
similarity index 91%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/19.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/19.md"
index 53c75bc8..b0017825 100644
--- "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/19.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/19.md"
@@ -1,11 +1,11 @@
----
-title: 移动石子直到连续(1033)
+
+## 移动石子直到连续(1033)
date: 2020-06-20
----
+
> 今天为大家分享一个**脑筋急转弯**类型的算法题。leetcode这个脑筋急转弯的tag打的我措手不及...
-
+
## 01、题目示例
@@ -50,17 +50,17 @@ a != b, b != c, c != a
比如:a = 1, b = 2, c = 5
-
+
比如:a = 4, b = 3, c = 2
-
+
+
然后只需要计算x和y的和,就是我们要找的最大值。而最小值,就很容易了,只有0,1,2三种可能性。
@@ -116,4 +116,4 @@ public:
执行结果:
-
\ No newline at end of file
+
\ No newline at end of file
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/19/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/19/1.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/19/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/19/1.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/19/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/19/2.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/19/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/19/2.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/19/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/19/3.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/19/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/19/3.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/19/4.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/19/4.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/19/4.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/19/4.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/19/5.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/19/5.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/19/5.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/19/5.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/20.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/20.md"
similarity index 92%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/20.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/20.md"
index 64bfd9eb..7018daeb 100644
--- "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/20.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/20.md"
@@ -1,11 +1,11 @@
----
-title: Nim 游戏(292)
+
+## Nim 游戏(292)
date: 2020-06-20
----
+
> 上一篇是为大家分享了一道打着“脑筋急转弯”tag的题目,然后我顺便就把这个类型的题目全部筛选出来看了看,发现总共没几个,所以就想的干脆一次全部讲完吧。
-
+
## 01、题目示例
@@ -38,15 +38,15 @@ PS:建议大家停留个两分钟先想一想...直接拉下去看题解就没
首先如果石头数小于4个,那么因为你是先手,一把拿走,肯定会赢。
-
+
而如果石头是4个,那不管你是拿了1,2,3个,最后一个都可以被你的对手拿走,所以怎么样都赢不了。
-
+
再继续分析到8个石头:对于5,6,7而言,你只需要对应的拿走1,2,3,然后留下4个,则对方必输。但是如果你要面对的是8,不管先拿(1,2,3)个,另一个人都可以通过 8-(1,2,3) ,使得你面对4个石头,则你必输无疑。通过观察,我们发现,好像是**只要N是4的倍数,我们就必输无疑**。
-
+
尝试性的写下代码:(这个,什么语言都无所谓吧....)
@@ -59,7 +59,7 @@ func canWinNim(n int) bool {
执行结果:
-
+
## 03、证明过程
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/20/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/20/1.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/20/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/20/1.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/20/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/20/2.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/20/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/20/2.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/20/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/20/3.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/20/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/20/3.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/20/4.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/20/4.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/20/4.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/20/4.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/20/5.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/20/5.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/20/5.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/20/5.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21.md"
similarity index 90%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21.md"
index ff21e7c2..bc43fd13 100644
--- "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21.md"
@@ -1,7 +1,7 @@
----
-title: 寻找两个正序数组的中位数(292)
+
+## 寻找两个正序数组的中位数(292)
date: 2020-06-20
----
+
> 今天为大家分享一道FLAG和BAT都出现过的经典面试题。题目有一定难度,建议大家耐着性子看完!不要说没天赋看不懂。在这个浮躁到努力的人都很少的年代,还谈不上说天赋这件事。
@@ -47,49 +47,49 @@ nums2 = [3, 4]
首先,我们考虑一个问题,如果只有一个有序数组,我们需要找中位数,那肯定需要判断元素是奇数个还是偶数个,如果是奇数个那最中间的就是中位数,如果是偶数个的话,那就是最中间两个数的和除以2。
-
+
那如果是两个数组,也是一样的,我们先求出两个数组长度之和。如果为奇数,就找中间的那个数,也就是 **(长度之和 1)/2** 。如果为偶数,那就找 **长度之和/2**。比如下面的 (9 5)/2 = 7,那我们最终就是**找到排列第7位的值**。此时,问题其实已经转化为“**找到两个数组中第k小的元素**”。找到了第7位之后,第8位我们已经知道了,然后第7位和第8位的和,除以2就是我们要找的中位数(**注意:这里的7和8你其实是不知道的,图中画出来,只是为了帮助理解**)
-
+
现在的问题是,我们如何用二分的思想来找到中间排列第7位的数。这里有一种不太好想到的方式,**是用删的方式**,因为**如果我们可以把多余的数排除掉,最终剩下的那个数,是不是就是我们要找的数?** 对于上面的数组,我们可以先删掉 7/2=3 个数。那这里,可以选择删上面的,也可以选择删下面的。那这里因为 i
+
+
+
+
+
这里有一点比较特殊的,如果在删除过程中,我们**要删除的K/2个数,大于其中一边的数组长度**,那我们就将小的一侧数组元素都删除。比如下面这个,此时7/2=3,但是下面的数组只有2个元素,我们就将它全部删除。
-
+
删完之后,此时因为只删除了2个元素,所以k变成了5。那我们只需要返回其中一边的第5个元素就ok。
-
+
整个上面的过程,完成了本题的算法架构!
@@ -143,4 +143,4 @@ class Solution {
执行结果:
-
\ No newline at end of file
+
\ No newline at end of file
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21/1.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21/1.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21/10.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21/10.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21/10.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21/10.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21/11.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21/11.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21/11.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21/11.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21/2.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21/2.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21/3.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21/3.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21/4.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21/4.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21/4.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21/4.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21/5.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21/5.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21/5.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21/5.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21/6.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21/6.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21/6.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21/6.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21/7.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21/7.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21/7.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21/7.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21/8.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21/8.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21/8.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21/8.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21/9.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21/9.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21/9.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/21/9.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/22.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/22.md"
similarity index 94%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/22.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/22.md"
index 23b735e9..fb726206 100644
--- "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/22.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/22.md"
@@ -1,7 +1,7 @@
----
-title: 第k个最大元素(215)
+
+## 第k个最大元素(215)
date: 2020-07-01
----
+
> 今天给大家分享一道美团面试题。话不多说,直接看题。
@@ -53,19 +53,19 @@ date: 2020-07-01
- 构造一个小顶堆,依次将元素放入堆中,并保证堆中元素为k。
-
+
- 如果当前元素小于堆顶元素,那基本就不用看了(因为我们要找的是 排序后的第 k 个最大的元素)
-
+
- 自然,如果我们遇到比堆顶元素大的元素,就把它放入到堆中。
-
+
- 重复上面的步骤:
-
+
然后根据分析,完成代码(今天就不手撕堆了,因为之前已经手撕过了。同时这里给大家一个建议,如果面试的时候,遇到这种TOPK的问题,**假如特别有把握,肯定得手撕数据结构,一定会加分**。但是如果没有把握,那就先用API实现,以 BugFree 为目标吧!)
@@ -158,7 +158,7 @@ func partition(l, r int, nums []int) int {
执行结果:
-
+
整个快排的核心,其实就partition。partition 有 单向扫描,双向扫描 等多种写法。上面的代码,大家可以参考参考,看不懂也没关系,我后面是会单独安排一个快排的系列篇来进行讲解的,到时候一堆图解砸进来,保准你看的醍醐灌顶!
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/22/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/22/1.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/22/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/22/1.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/22/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/22/2.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/22/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/22/2.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/22/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/22/3.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/22/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/22/3.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/22/4.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/22/4.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/22/4.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/22/4.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/22/5.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/22/5.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/22/5.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/22/5.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/23.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/23.md"
similarity index 93%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/23.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/23.md"
index 1238b6a6..5672188b 100644
--- "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/23.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/23.md"
@@ -1,7 +1,7 @@
----
-title: 镜面反射(858)
+
+## 镜面反射(858)
date: 2020-07-09
----
+
> 这两天熟悉的朋友该知道我情绪不太好。但总不能借着由头,便拖期延稿诉衷肠。毕竟消除恐惧的最好方法就是面对恐惧。微笑着面对它,坚持才是胜利,加油!奥利给!
@@ -23,7 +23,7 @@ date: 2020-07-09
上面的题目绕得很,大概就是这么个意思:
-
+
## 02、题目分析
@@ -33,11 +33,11 @@ date: 2020-07-09
我们知道光是由西南角发出的,也就是左下角。发出之后可能会出现多种情况(注意,下图略过了部分光线反射的情况)。看起来是十分复杂,无迹可寻。
-
+
但是如果我们把光线的运动轨迹拆开来看,就可以观测到,**光线每经过一次折反,都会在纵向距离上移动 q**(首次与东墙相距的距离)。同时,**一旦其向上行走的距离为 p 的整数倍,就一定会碰到某个接收点**(**注意:这里我们不需要考虑北面墙是否存在,根据光的反射定律可得**)可以参考一下下面这张图:
-
+
问题变得简单了,**光线最终向上走的距离,其实就是 p 和 q 的最小公倍数**。我们设最小公倍数为 L,会发现如果 L 是 p 的**奇数倍**,光线则到达**北墙**(可以参考上面的图)当 L 是 p 的 **偶数倍**,光线将会射到**南墙**。
@@ -73,7 +73,7 @@ class Solution {
执行结果:
-
+
这道题学会了吗?如果不会就不要玩镜了吧(皮一个)。
diff --git "a/website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/009/1.gif" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/23/1.gif"
similarity index 100%
rename from "website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/009/1.gif"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/23/1.gif"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/23/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/23/1.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/23/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/23/1.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/23/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/23/2.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/23/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/23/2.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/23/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/23/3.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/23/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/23/3.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/23/4.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/23/4.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/23/4.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/23/4.jpg"
diff --git "a/website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/009/5.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/23/5.jpg"
similarity index 100%
rename from "website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/009/5.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/23/5.jpg"
diff --git "a/website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/009/6.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/23/6.jpg"
similarity index 100%
rename from "website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/009/6.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/23/6.jpg"
diff --git "a/website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/009/7.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/23/7.jpg"
similarity index 100%
rename from "website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/009/7.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/23/7.jpg"
diff --git "a/website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/009/8.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/23/8.jpg"
similarity index 100%
rename from "website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/009/8.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/23/8.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/25.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/25.md"
similarity index 92%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/25.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/25.md"
index 28b97507..0b5b2182 100644
--- "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/25.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/25.md"
@@ -1,7 +1,4 @@
----
-title: 整数转罗马数字(12)
-date: 2020-07-10
----
+ ## 整数转罗马数字(12)
> 今天穿插为大家讲解一道臭长臭长的经典题目。我把字体加大了,加大了,加大了。
@@ -91,7 +88,7 @@ C 可以放在 D (500) 和 M (1000) 的左边,来表示 400 和 900。
因为题目很长,所以读懂题意很重要。这道题说是让我们转换罗马数字,其实说白了就是让我们用特殊的规则凑数。**罗马数字本身就可以理解为一种特殊的数学规则。**
-
+
那如何来凑数?自然就需要读懂题意,比如 2 就是通过 1+1 凑;3 通过 1+1+1 凑;6 通过 5+1 凑。同时,在凑的过程中,又加入了一些奇怪的规则。比如说,4 不允许 1+1+1+1 凑,而是得 5-1 凑;而 9 不能 5+1+1+1+1 凑,而是得 10-1 凑;这个分析怎么出来的?题目中说的:
@@ -109,15 +106,15 @@ C 可以放在 D (500) 和 M (1000) 的左边,来表示 400 和 900。
然后,我们把题目中所有的字符列出来:
-
+
当然,除了这些还不够。因为上面我们还分析出了一些特殊的规则,也得列出来:
-
+
然后我们利用这张表格,对给出的数字进行转化(拼凑)。假设我们要找的数为2834,大概的流程如下(其实是一种类似贪心的思想):
-
+
对比着代码看更为明朗:
@@ -144,7 +141,7 @@ class Solution {
执行结果:
-
+
## 03、啰嗦一下
@@ -179,7 +176,7 @@ public:
这个解法应该没什么解释的,就是把每一位 0-10 的情况枚举出来。这道题目稍微长了点,但是分析下来并没有什么难度。有的同学一看到题目很长,直接就怂了,这种其实就很不好。唔,再放一张女神照片:
-
+
+
-
+
## 02、题解分析
@@ -27,11 +27,11 @@ date: 2020-07-10
便于分析,我们把上面的图稍微改一下:
-
+
改成这样:
-
+
好了,这道题结束了。O(∩_∩)O
@@ -53,41 +53,41 @@ Emmmm....不开玩笑,现在我们讲解如何完成这个过程。
那总共就三个颜色,我们要区分开来,是不是最少需要两条分隔线?A线的左侧为0,右侧为1。B线的左侧为1,右侧为2。
-
+
但是刚开始的时候,红-白-蓝 三色是乱序的,所以此时的两条线我们是不是可以看成在最两侧?
-
+
那我们剩下的是不是只需要把 A线 和 B线 间的数据维护成满足 AB 线的规则就可以了?那要维护 AB 线间的数据,是不是至少你得遍历下 AB 线间的数据?
-
+
我们从 C 位置处开始,**我们发现此时 C 等于0。是不是意味着,我们应把这个元素放到 A 的左侧,所以我们移动 A线。当然,我们也需要移动一下 C 的位置。(CASE-1)**
-
+
然后我们发现**新的 C 位置处等于2,那是不是说明这个元素应该位于 B 的右侧。所以我们要把该位置的元素 和 B位置处的元素进行交换,同时移动B。(CASE-2)**
-
+
但是这里要注意,**C 交换完毕后,C 不能向前移**。因为C指向的元素可能是属于前部的,若此时 C 前进则会导致该位置不能被交换到前部。继续向下遍历。
-
+
有意思了,**我们发现 C 指向位置处等于1。有没有发现这种本身就满足规则了?所以我们忽略就可以了。(CASE-3)** 继续移动 C。
-
+
主要就这三种 CASE,我们把剩下的图都绘制出来:
-
+
-
+
-
+
-
+
**总结一下:**
@@ -147,7 +147,7 @@ func sortColors(nums []int) {
执行结果:
-
+
## 03、总结
@@ -157,7 +157,7 @@ func sortColors(nums []int) {
好吧,基本就是这样了。这道题目在 leetcode 上对应的是:
-
+
我觉得我讲的还是可以的。大家要是认为ok的话,给我来个转发吧~感谢!
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/1.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/1.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/10.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/10.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/10.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/10.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/11.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/11.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/11.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/11.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/12.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/12.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/12.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/12.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/13.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/13.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/13.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/13.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/14.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/14.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/14.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/14.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/15.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/15.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/15.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/15.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/16.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/16.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/16.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/16.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/17.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/17.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/17.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/17.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/2.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/2.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/3.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/3.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/4.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/4.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/4.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/4.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/5.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/5.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/5.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/5.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/6.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/6.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/6.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/6.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/7.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/7.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/7.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/7.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/8.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/8.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/8.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/8.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/9.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/9.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/9.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/26/9.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/27.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/27.md"
similarity index 89%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/27.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/27.md"
index 77f0e199..fa61cb0e 100644
--- "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/27.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/27.md"
@@ -1,7 +1,7 @@
----
-title: 六九问题
+
+## 六九问题
date: 2020-07-10
----
+
> 69式是一种。。。咳咳,六九问题是一道很有趣的算法题。嗯,不服来辩。
@@ -19,7 +19,7 @@ date: 2020-07-10
大概就是这么个意思:
-
+
```
输入:num = 9669
@@ -54,19 +54,19 @@ class Solution {
执行结果:
-
+
+
## 03、知识点总结
> 写出上面的答案,大概率是被面试官锤了。那这道题到底是考察我们什么呢?
-
+
大家可以看到,这是一道数学题。所以我们需要用数学的方法来进行求解。具体代码如下:
@@ -90,11 +90,11 @@ class Solution {
其实这种解法,和上面的解法没什么区别。**都是从高位到低位进行判断,遇到 6 就将其变为 9**。只不过,上面是通过 replaceFirst 来进行,下面通过数值相加的方式来进行。那这种方法的效率我们看看:
-
+
吊炸天有没有!难怪古人说,学好数理化,走遍天下都不怕。只会 replace 画,面试结束找妈妈。
-
+
现在你知道为什么你和别人一起去面试,面试官挂了你,而选择别人了吧。**面试官的思维,往往就是这么朴实无华且枯燥。**
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/27/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/27/1.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/27/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/27/1.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/27/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/27/2.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/27/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/27/2.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/27/3.gif" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/27/3.gif"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/27/3.gif"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/27/3.gif"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/27/4.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/27/4.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/27/4.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/27/4.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/27/5.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/27/5.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/27/5.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/27/5.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/27/6.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/27/6.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/27/6.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/27/6.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/28.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/28.md"
similarity index 92%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/28.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/28.md"
index ee43a1a3..a51e52db 100644
--- "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/28.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/28.md"
@@ -1,9 +1,9 @@
----
-title: 有效的数独
+
+## 有效的数独
date: 2020-07-10
----
+
-
+
> 数独相信在座的各位都玩过,那我们如何使用程序去验证一个 9×9 的数独是有效的呢?一起看下!
@@ -73,7 +73,7 @@ date: 2020-07-10
画出来就是下面这样:
-
+
## 02、题解分析
@@ -102,7 +102,7 @@ date: 2020-07-10
遍历这个没什么好说的,**从左到右,从上到下进行遍历即可**。就一个两层循环。因为题目本身就是常数级的规模,所以时间复杂度就是 O(1)。
-
+
问题来了:如何验证元素在 行 / 列 / 子数独中没有重复项?
@@ -119,7 +119,7 @@ int[][] sbox = new int[9][9];
当然,刚开始的时候他们都是空的。然后**每遍历到一个元素,我们就看看这个元素在里边存不存在,不存在就放进去,存在那说明数独不合法**。
-
+
举个栗子,比如这个数独。第6行5列为2,那我们就对 rows 和 col 进行设置:(1表示元素存在)
@@ -147,11 +147,11 @@ boxIndex = (row / 3) * 3 + columns / 3
其实很容易理解:我们把上面的第6行5列代入到这个公式里,(5 / 3) * 3 + 4 / 3 = 3 + 1 = 4。这个 4 也就代表最终落到 4 的这个小区域中。
-
+
我猜有人不能理解这个算式(是的,连公式都称不上),所以我再解释一下它是怎么来的。比如上面的第 6 行,row 为 5,5/3=1 可以理解为 **此时在第1大行上**,然后 (5/3)*3,是计算出当前第一大行处的 boxIndex 值。最后再加上的 4/3,意思是向右偏移几个大列。
-
+
根据分析,给出代码:
@@ -182,12 +182,12 @@ class Solution {
执行结果:
-
+
## 03、总结
最后,我在这里分享给大家一个很难很难的数独,欢迎大家来挑战!!挑战成功的,评论区留下你的答案!
-
+
好了,今天的题目就讲完了,我觉得讲的还是挺好的。大家要是认为ok的话,给我来个转发吧~感谢!
\ No newline at end of file
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/28/1.gif" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/28/1.gif"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/28/1.gif"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/28/1.gif"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/28/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/28/2.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/28/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/28/2.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/28/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/28/3.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/28/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/28/3.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/28/4.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/28/4.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/28/4.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/28/4.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/28/5.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/28/5.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/28/5.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/28/5.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/28/6.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/28/6.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/28/6.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/28/6.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/28/7.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/28/7.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/28/7.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/28/7.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/28/8.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/28/8.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/28/8.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/28/8.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29.md"
similarity index 88%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29.md"
index f5886b8d..ba91817b 100644
--- "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29.md"
@@ -1,7 +1,7 @@
----
-title: 费米估算
+
+## 费米估算
date: 2020-07-11
----
+
> 今天为大家分享一道“奇葩”面试题。
@@ -27,11 +27,11 @@ date: 2020-07-11
这道题目主要考察人的估算能力。而估算界,有一个估算大牛叫做费米。
-
+
这位大牛有多牛呢?据说第一颗原子弹正在试爆,费米随手把自己笔记本的一张纸撕成小碎片顺手一撒,碎纸随风飘落,在费米身后2米处落下。
-
+
费米根据这个数据,心算得出核爆量大约是一万吨TNT。这个数据和一些尖端的仪器设备花了数星期时间来分析波速、波压得出的数据基本一致。
@@ -51,27 +51,27 @@ date: 2020-07-11
回到本题,我们要分析的问题是:
-
+
那我们至少得有多少辆车吧?但是并不是所有的车,每天都会上路。所以准确的说我们需要知道每天上路的车有多少。
-
+
但是是所有上路的车都需要加油吗?当然不是,所以我们还得改改:
-
+
知道了每天上路需要加油的车辆数,我们得知道每个加油站可以满足多少辆车吧?
-
+
那加油站用什么满足车?自然是油咯。
-
+
问题来了,那我们如何知道每天上路需要加油的车辆数?是不是我们可以转化为 北京车辆总数 / 加油频次:
-
+
这个加油频次,相信大家就很容易估算出来了。跑滴滴的一天一次油,正常开的话一周一次,开的少一点的话差不多半个月一次。
@@ -91,7 +91,7 @@ date: 2020-07-11
上面的费米估算大家应该都知道是个什么东东了。还有很多类似的题目“芝加哥的钢琴家数量”,“上海有多少滴滴”,“成都有多少家星巴克”这都是一类问题。
-
+
其实到这里就可以结束了,但是我还是想说“数学家的嘴,骗人的鬼”,有一个叫做德雷克的数学家,他用费米估算来解释自己单身的原因:
@@ -114,6 +114,6 @@ date: 2020-07-11
然鹅。他在论文发表结束后,就马上结婚了。。哈哈哈哈哈,当然,这并不是说费米估算没有用,或许是估算错误吧!
-
+
好了,基本就是这样了。周末写文不容易,求个转发,来个评论。感谢~
\ No newline at end of file
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/1.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/1.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/10.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/10.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/10.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/10.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/11.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/11.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/11.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/11.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/12.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/12.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/12.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/12.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/2.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/2.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/3.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/3.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/4.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/4.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/4.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/4.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/5.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/5.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/5.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/5.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/6.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/6.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/6.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/6.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/7.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/7.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/7.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/7.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/8.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/8.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/8.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/8.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/9.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/9.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/9.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/29/9.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/30.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/30.md"
similarity index 93%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/30.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/30.md"
index 3fa589ec..f5792309 100644
--- "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/30.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/30.md"
@@ -1,7 +1,7 @@
----
-title: 分发饼干
+
+## 分发饼干
date: 2020-07-11
----
+
> 今天给大家分享一道很魔性的题目(很多槽点),也是一道入门级别的贪心算法题目。
@@ -35,7 +35,7 @@ date: 2020-07-11
所以你应该输出1。
```
-
+
+
具体怎么做呢,我们把饼干和小朋友都按照**从大到小**排列。
-
+
- 如果最大的饼干可以满足肚子最大的孩子,那就给他吃,同时比较下一个。
@@ -61,7 +61,7 @@ date: 2020-07-11
但是这里有个问题。凭什么就要先满足肚子最大的孩子。按道理讲,肚子越大应该越扛饿才对吧。所以我们换种思路,从**肚子最小的孩子**开始。
-
+
- 如果最小的饼干可以满足肚子最小的孩子,那就给他吃,同时比较下一个。
@@ -98,7 +98,7 @@ class Solution {
如果想先满足大肚子,代码也大同小异。直接从尾部向前遍历即可。执行结果:
-
+
## 03、一点分享
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/30/1.gif" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/30/1.gif"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/30/1.gif"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/30/1.gif"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/30/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/30/2.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/30/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/30/2.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/30/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/30/3.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/30/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/30/3.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/30/4.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/30/4.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/30/4.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/30/4.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/30/5.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/30/5.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/30/5.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/30/5.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/31.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/31.md"
similarity index 95%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/31.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/31.md"
index 10e51364..4c1758b4 100644
--- "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/31.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/31.md"
@@ -1,7 +1,7 @@
----
-title: 生命游戏(289)
+
+## 生命游戏(289)
date: 2020-07-11
----
+
> 今天是小浩算法“365刷题计划”第102天。每个人的起点和终点都是一样的,但过程却各不相同。我们无法主宰生死却可以选择如何让生命有意义。我们如何用算法来进行一场生命的游戏呢!
@@ -30,7 +30,7 @@ date: 2020-07-11
题目有点复杂,举例说明:
-
+
注意:**面板上所有格子需要同时被更新**:你不能先更新某些格子,然后使用它们的更新后的值再更新其他格子。
@@ -46,19 +46,19 @@ date: 2020-07-11
- R1:细胞数少于两个,则该位置**活细胞**死亡
-
+
- R2:有两个或三个活细胞,则该位置**活细胞**仍然存活
-
+
- R3:有超过三个活细胞,则该位置**活细胞**死亡
-
+
- R4:有三个活细胞,则该位置**死细胞**复活
-
+
四个规则理解起来并不复杂,现在考虑如何解决问题。最自然的想法是:一个个的更新细胞状态。
@@ -66,11 +66,11 @@ date: 2020-07-11
但是这里我们会遇到一个问题:假设你每次更新完毕后,都把更新后的结果填入数组。那么当前轮其他格子的更新就会引用到你已经更新的结果。啥意思呢:
-
+
比如上面这个就是**错误**的:我们先依据规则4更新了绿色框处的状态,此时蓝色框色周围同样满足规则4。**已更新细胞的状态会影响到周围其他还未更新细胞状态的计算**。这明显不是我们想要的!
-
+
那我们最简单的思路:是不是只要我们能一直获取原始数组的数据,不就可以保证更新一直正确了吗!至于在哪里,其实不管是copy一个数组,还是说用hashmap存一下数值其实都ok。
@@ -212,7 +212,7 @@ public class Solution {
执行结果:
-
+
细心的读者也许会想到,这不就是卡诺图吗?是的。在大多数的矩阵状态变化类题目中,卡诺图、状态机 等都是一些常用的技巧。
@@ -238,9 +238,9 @@ public class Solution {
> 宽度优先搜索算法(又称广度优先搜索)是最简便的图的搜索算法之一,这一算法也是很多重要的图的算法的原型。Dijkstra单源最短路径算法和Prim最小生成树算法都采用了和宽度优先搜索类似的思想。其别名又叫BFS,属于一种盲目搜寻法,目的是系统地展开并检查图中的所有节点,以找寻结果。换句话说,它并不考虑结果的可能位置,彻底地搜索整张图,直到找到结果为止。
-
+
-
+
+
如何使用二分查找找到哪行呢?只需要一个上下边界,再每次拿着中间行最大的值和目标值比一比。
@@ -175,11 +175,11 @@ class Solution {
**1,1,2,3,5,8,13,21,34,55,89,144........**
-
+
+
+
+
## 01、题目示例
@@ -37,7 +37,7 @@ date: 2020-07-12
题目本身没有太多需要补充的,初中数学知识:
-
+
## 02、题解分析(高级)
@@ -47,11 +47,11 @@ date: 2020-07-12
首先我们可以证明一下 N 个元素的子集个数有 2^N 个:
-
+
可以类比为 N 个不同的小球,一次拿出若干个小球(可以不拿),对于每一个球都可以选择拿或者不拿,共有 N 个球,总共判断 N 次,产生了 2^N 个子集。比如:123,共有下面 8 个子集:
-
+
然后考虑解题思路,**暂且不谈回溯,我们其实可以用二进制来模拟每个元素是否选中的状态。** 又因为我们已知了对于 N 个元素共有 2^N 个子集,所以我们直接遍历 2^N 个元素。
@@ -104,11 +104,11 @@ class Solution {
为帮助大家理解,假设 nums 为 [1,2,3],res 的存储过程为:
-
+
大家可以仔细体会一下这个题解。
-
+
## 03、题解分析(普通)
@@ -118,11 +118,11 @@ class Solution {
集合中所有元素的选/不选,其实构成了一个满二叉树。左子树选,右子树不选。自然,那从根节点到所有叶子节点的路径,就构成了所有的子集。
-
+
+
那这种解法其实就好理解很多了:
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/33/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/33/1.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/33/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/33/1.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/33/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/33/2.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/33/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/33/2.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/33/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/33/3.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/33/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/33/3.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/33/4.gif" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/33/4.gif"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/33/4.gif"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/33/4.gif"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/33/5.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/33/5.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/33/5.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/33/5.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/33/6.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/33/6.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/33/6.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/33/6.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/33/7.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/33/7.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/33/7.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/33/7.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/33/8.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/33/8.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/33/8.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/33/8.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/33/9.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/33/9.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/33/9.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/33/9.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34.md"
similarity index 85%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34.md"
index 46f275a8..848f1f82 100644
--- "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34.md"
@@ -1,11 +1,11 @@
----
-title: 面试中的智力题
+
+## 面试中的智力题
date: 2020-07-12
----
+
> 今天是小浩算法 “365刷题计划” 第106天。互联网公司面试,经常会出现一些奇奇怪怪的题目。今天就为大家扒几道。(第二道题目由读者提供,是真实的头条面试数据分析岗位对方问到的。防止题目侵权,本文给出的是**相似题型**)
-
+
## 01、量出4升水
@@ -21,23 +21,23 @@ date: 2020-07-12
题目没什么补充的,直接分析,一个3升和5升的水桶:
-
+
首先用三升水桶装满水,倒入五升水桶:
-
+
再次倒满三升水桶,填满后继续倒入五升水桶,直到五升水桶倒满。
-
+
清空五升水桶,将三升水桶的一升水倒入:
-
+
再次填满三升水桶,倒入五升水桶中:
-
+
## 02、最大的钻石
@@ -53,9 +53,9 @@ date: 2020-07-12
不要认为这种题目不会出现在面试中,恰恰相反,这类题目出现的概率非常高。这不,有读者就碰到了。下面两个是知乎中也遇到该题的读者截图:
-
+
-
+
那这种问题主要考察面试者的什么能力呢?一个是面试临场随机应变的能力。第二就是分析问题的能力。
@@ -71,11 +71,11 @@ date: 2020-07-12
其实这个问题的原型叫做秘书问题,该类问题全部属于**最佳停止问题**。
-
+
这类问题都有着统一的解法:
-
+
所以到我们的题目里,我们也是可以直接给出答案:**我们要选择先放弃前 37%(就是1/e)的钻石,此后选择比前 37% 都大的第一颗钻石。**
@@ -87,7 +87,7 @@ date: 2020-07-12
事实上也有人通过测试证明了这个数据:
-
+
当 n=30 时,测试一万次,可以看到有 4000 次我们拿到了最大的钻石。
@@ -107,13 +107,13 @@ date: 2020-07-12
等等。这里再给出一个严谨的推导过程:
-
+
## 03、思维定势
> 下面这道题也是一道常见的智力题,但是这道题绝对不会出现在面试中了。拿出来分享给大家的原因,是期望不要被思维定势局限。
-
+
这道题中有六个停车位,每个车位上都有一个数字,然而有一个车位上的数字被汽车挡住了,要求学生们在20秒内答出这个被挡住的车位上的数字。这是中国香港小学一道给6岁儿童设计的“停车场智力题”。(**大家可以在评论区留下答案**)
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/1.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/1.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/10.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/10.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/10.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/10.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/11.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/11.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/11.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/11.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/12.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/12.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/12.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/12.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/13.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/13.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/13.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/13.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/2.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/2.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/3.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/3.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/4.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/4.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/4.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/4.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/5.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/5.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/5.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/5.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/6.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/6.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/6.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/6.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/7.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/7.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/7.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/7.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/8.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/8.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/8.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/8.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/9.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/9.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/9.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/34/9.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50.md"
similarity index 84%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50.md"
index 8e71a1dc..b889c6ba 100644
--- "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50.md"
@@ -1,9 +1,9 @@
----
-title: 图的基础知识
+
+## 图的基础知识
date: 2020-07-11
----
+
-
+
> 今天和大家聊聊关于图的一些知识。
@@ -15,11 +15,11 @@ date: 2020-07-11
在数据结构中,图是什么呢?喏,就是这样:
-
+
Emmmm.....或者说常见一点的:
-
+
图是一个比树形关系复杂一点点,比线性关系复杂两点点的东东。
@@ -51,11 +51,11 @@ Emmmm.....或者说常见一点的:
图里最基本的单元是顶点(vertex),相当于树中的节点。顶点之间的关联关系,被称为边(edge)。而边可以分配一个数值(正负都ok),这个数值就叫做权重。
-
+
+
当然,这里值得一提的是,树也可以被当做简单的图,而链表也可以被当做简单的树。
@@ -67,15 +67,15 @@ Emmmm.....或者说常见一点的:
**边没有方向的图称为无向图。**比如说我微信里同时加了这5个妹子,这5个妹子也都认识我。
-
+
突然有一天,除了小花,其他四个妹子同时间都把我拉黑了。我的微信里能看到她们,她们却看不到我。
-
+
然后嘞,无向图就变成了有向图:
-
+
## 04、完全图
@@ -85,7 +85,7 @@ Emmmm.....或者说常见一点的:
在无向图中,若每对顶点之间都有一条边相连,则称该图为完全图。大概就是这样:
-
+
而在有向图中,若每对顶点之间都有二条有向边相互连接,也算是完全图。
@@ -99,7 +99,7 @@ Emmmm.....或者说常见一点的:
循环图中的循环二字,指的是**起点和终点是同一节点时**产生的路径。所以,**循环图和有向图或无向图并没有什么关系,因为都有可能产生循环**。有向图,那就遵循边的方向。无向图,那只要成环就行。
-
+
这三个:
@@ -111,7 +111,7 @@ Emmmm.....或者说常见一点的:
那第二个,更多的是被称为,有向无环图 DAG(Directed Acyclic Graph。那下面这个也是 :
-
+
那上面这个像不像一棵树。。。。。所以计算机结构中的树(大多都是有向的),其实就是一个DAG。
@@ -123,11 +123,11 @@ Emmmm.....或者说常见一点的:
这个没啥好说的了,就是边有长度的图(**这个长度可以是各种含义**)。大部分我们接触到的图,都是加权图。
-
+
但是这里如果细分的话,又分出来了。**顶点加权图和边加权图。** 说白了,就是有人发现如果只给边加上权值(就是长度)并不够用,有时候也需要给顶点加上权值。
-
+
## 07、连通图
@@ -137,15 +137,15 @@ Emmmm.....或者说常见一点的:
连通的图,就是连通图:
-
+
如果不通了,就是非连通图:(这是一个图)
-
+
那没有连通在一起的这两坨(或者说移动的这两坨),我们叫作**岛**。(画外音,也许当年给联通移动起名的,就是程序员。从这里看,联通和移动本身就是对立的)
-
+
所以,如果我们的图里包含岛,那就是非连通图。
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/1.gif" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/1.gif"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/1.gif"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/1.gif"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/10.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/10.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/10.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/10.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/11.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/11.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/11.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/11.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/12.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/12.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/12.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/12.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/13.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/13.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/13.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/13.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/14.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/14.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/14.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/14.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/15.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/15.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/15.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/15.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/16.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/16.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/16.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/16.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/17.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/17.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/17.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/17.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/18.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/18.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/18.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/18.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/2.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/2.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/3.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/3.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/4.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/4.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/4.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/4.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/5.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/5.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/5.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/5.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/6.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/6.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/6.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/6.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/7.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/7.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/7.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/7.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/8.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/8.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/8.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/8.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/9.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/9.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/9.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/50/9.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/51.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/51.md"
similarity index 86%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/51.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/51.md"
index 8507aa1c..bfb60a00 100644
--- "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/51.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/51.md"
@@ -1,9 +1,9 @@
----
-title: 旋转图像(48)
+
+## 旋转图像(48)
date: 2020-07-11
----
+
-
+
> 今天是小浩算法 “365刷题计划” 第103天。这是前几天一个同学去滴滴面试的原题。
@@ -61,7 +61,7 @@ date: 2020-07-11
题目理解起来还是很容易的:
-
+
## 02、题解分析
@@ -71,23 +71,23 @@ date: 2020-07-11
我们用代码来旋转矩阵,肯定不能说像拿着一个东西整体直接旋转,类似这样:
-
+
一般容易想到的是,一层层的从外到内旋转每一圈(至于为什么不从内到外,如果你觉得方便,也ok),也就是俗称的找框框:
-
+
对每个框框,其实都有 4 个顶点:
-
+
剩下的就是交换这四个顶点的值:
-
+
交换完毕之后,再继续交换移动后的四个顶点:
-
+
那代码实现其实就很简单了:
@@ -123,15 +123,15 @@ class Solution {
那我们除了找框框之外,还能不能有一些别的解法呢?当然可以,想想小时候我们通过对折来完成的填字游戏。
-
+
我们观察这个矩阵:
-
+
我们观察这个矩阵,向右旋转90°,是不是可以理解为**先上下翻转,再沿对角线翻转**:
-
+
根据分析,完成代码(其实应该用Go写,交换元素会方便许多....):
@@ -160,15 +160,15 @@ class Solution {
执行结果:
-
+
## 03、算法小知识
> 骑士巡逻(英语:Knight's tour)是指在按照国际象棋中骑士的规定走法走遍整个棋盘的每一个方格,而且每个网格只能够经过一次。假若骑士能够从走回到最初位置,则称此巡逻为“封闭巡逻”,否则,称为“开巡逻”。对于8*8棋盘,一共有26,534,728,821,064种封闭巡逻,但是到底有多少种开巡逻仍然未知。
-
+
-
+
+
+
## 01、题目示例
@@ -48,7 +48,7 @@ date: 2020-07-12
题目理解较为容易,给定 n = 3,那就生成一个 3^2 = 9 的矩阵。大家看下面的图可能更加直观一些:
-
+
## 02、题解分析
@@ -66,19 +66,19 @@ date: 2020-07-12
然后模拟向内环绕的过程,逐层填充:
-
+
这种方法其实有一个专业点的名字,叫做:蛇形填数
+
+
两者的区别,只是边界条件设定不同。
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/52/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/52/1.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/52/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/52/1.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/52/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/52/2.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/52/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/52/2.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/52/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/52/3.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/52/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/52/3.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/52/4.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/52/4.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/52/4.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/52/4.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/52/5.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/52/5.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/52/5.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/52/5.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/52/6.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/52/6.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/52/6.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/14.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/52/6.jpg"
diff --git "a/website/0.01.\346\214\207\345\257\274\345\255\246\344\271\240/021.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/2.\346\214\207\345\257\274\345\255\246\344\271\240/021.md"
similarity index 99%
rename from "website/0.01.\346\214\207\345\257\274\345\255\246\344\271\240/021.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/2.\346\214\207\345\257\274\345\255\246\344\271\240/021.md"
index 1c0d157a..cd0a333a 100644
--- "a/website/0.01.\346\214\207\345\257\274\345\255\246\344\271\240/021.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/2.\346\214\207\345\257\274\345\255\246\344\271\240/021.md"
@@ -1,7 +1,7 @@
----
-title: 指导学习(一)
+
+## 指导学习(一)
date: 2020-07-01
----
+
> 我自己有个很喜欢的话,叫做 “练习 - 坚持 - 总结 - 提高”,我们已经练习了 70 天,如果不进行一些问题的总结,永远只低头看路,恐怕就会迷路。所以今儿咱们不讲算法题,而是讲一讲到底如何“解决问题”,本文**非常非常非常重要**,是我很长一段时间的心血与积累,大家一定要耐心看完,共包含3节:
>
diff --git "a/website/0.01.\346\214\207\345\257\274\345\255\246\344\271\240/022.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/2.\346\214\207\345\257\274\345\255\246\344\271\240/022.md"
similarity index 96%
rename from "website/0.01.\346\214\207\345\257\274\345\255\246\344\271\240/022.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/2.\346\214\207\345\257\274\345\255\246\344\271\240/022.md"
index 8f102078..12653767 100644
--- "a/website/0.01.\346\214\207\345\257\274\345\255\246\344\271\240/022.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/2.\346\214\207\345\257\274\345\255\246\344\271\240/022.md"
@@ -1,7 +1,7 @@
----
-title: 指导学习(二)
+
+## 指导学习(二)
date: 2020-07-08
----
+
> **今天是小浩算法“365刷题计划” - 刷题指导篇(小白篇)。** 三年高考,五年刷题。leetcode不算从其他各处收录的题目,单就自己的题库,总共有1600+,如果按照每天刷一道的话,总共需要5年。那我们真的需要把这些题目全部刷完吗?如果不是,刷多少合适?又该怎么刷呢?本文我尽量言简意赅,直击大家的疑惑。(本文适合算法初学者)
@@ -21,7 +21,7 @@ date: 2020-07-08
对于上面这个群体(请先自行判断是否可以归为此类),**刷题的目的基本是为了面试**。不管我多么巧舌如簧,告诉你算法可以提高思维,增强逻辑,是成为top coder的必然条件,等等等等。但最终都还是会回归到这个目的:**面试**。
-
+
所以现在我们换掉问题:**没什么刷题经验的同学为了面试需要刷多少道题**?我的答案是:200道。
@@ -54,7 +54,7 @@ date: 2020-07-08
如果你有上面的疑惑,那么:你错了。坚持不下来一天一道的人和刷完200道题,毛关系都没有。回到我上面的例子,200道题目里。大概easy在130-150道左右,medium在30-50道,hard只占据了不到20道题。
-
+
跑步和刷题不同。跑步是越来越慢,刷题却是越来越快的。对于初学者(正常人),在每一个tag刷了10道左右简单题之后,基本同类型的题目可以提高到每天2-3道easy题目,有的掌握好的,甚至能提高到每天刷5-10题。很多同类型题目,基本都是一个模子刻出来的。
@@ -76,7 +76,7 @@ date: 2020-07-08
+
+
到这里就会出现另一个问题,“我是从头刷,还是分类刷?” 我的建议是,如果稍微有点算法基础,你就从头刷leetcode前200道题。如果完全没有算法基础,可以考虑分tag来刷。并不是说按照tag的方式更好,而是在没有算法基础的前提下分tag来刷,除了掌握题型之外,对于知识的掌握很有益处。(想一想初高中是如何学习的)那为什么又说从头刷也是可以的?这个是因为,如果一直刷某一种类型的题,容易出现刷完一类忘掉前一类的问题,也容易对某一类题目疲惫。总之,**使用哪种方式取决于你**。关键是:干就对了!
diff --git "a/website/0.01.\346\214\207\345\257\274\345\255\246\344\271\240/022/1.gif" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/2.\346\214\207\345\257\274\345\255\246\344\271\240/022/1.gif"
similarity index 100%
rename from "website/0.01.\346\214\207\345\257\274\345\255\246\344\271\240/022/1.gif"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/2.\346\214\207\345\257\274\345\255\246\344\271\240/022/1.gif"
diff --git "a/website/0.01.\346\214\207\345\257\274\345\255\246\344\271\240/022/2.gif" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/2.\346\214\207\345\257\274\345\255\246\344\271\240/022/2.gif"
similarity index 100%
rename from "website/0.01.\346\214\207\345\257\274\345\255\246\344\271\240/022/2.gif"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/2.\346\214\207\345\257\274\345\255\246\344\271\240/022/2.gif"
diff --git "a/website/0.01.\346\214\207\345\257\274\345\255\246\344\271\240/022/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/2.\346\214\207\345\257\274\345\255\246\344\271\240/022/3.jpg"
similarity index 100%
rename from "website/0.01.\346\214\207\345\257\274\345\255\246\344\271\240/022/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/2.\346\214\207\345\257\274\345\255\246\344\271\240/022/3.jpg"
diff --git "a/website/0.01.\346\214\207\345\257\274\345\255\246\344\271\240/022/4.gif" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/2.\346\214\207\345\257\274\345\255\246\344\271\240/022/4.gif"
similarity index 100%
rename from "website/0.01.\346\214\207\345\257\274\345\255\246\344\271\240/022/4.gif"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/2.\346\214\207\345\257\274\345\255\246\344\271\240/022/4.gif"
diff --git "a/website/0.01.\346\214\207\345\257\274\345\255\246\344\271\240/023.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/2.\346\214\207\345\257\274\345\255\246\344\271\240/023.md"
similarity index 92%
rename from "website/0.01.\346\214\207\345\257\274\345\255\246\344\271\240/023.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/2.\346\214\207\345\257\274\345\255\246\344\271\240/023.md"
index b24181e1..00c5c130 100644
--- "a/website/0.01.\346\214\207\345\257\274\345\255\246\344\271\240/023.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/2.\346\214\207\345\257\274\345\255\246\344\271\240/023.md"
@@ -1,11 +1,11 @@
----
-title: 指导学习(三)
+
+## 指导学习(三)
date: 2020-07-12
----
+
今天的文章,不浪,没图。给大家加加油!
-
+
回顾过去一年,京东、知乎、美团、微博、去哪儿、滴滴等。爆出裁员的有多少,虽然最终都被官方辟谣。**但是,你们懂的。**
@@ -39,7 +39,7 @@ date: 2020-07-12
+
>我们需要注意的是,在处理基准元素的过程中,**如果基准元素和任一一个元素无法匹配,则说明不存在最长公共元素。**
@@ -81,6 +81,6 @@ func longestCommonPrefix(strs []string) string {
运行结果:
-
+
当然,我们也可以用分治法或者其他方法来解答这道题目。你可以自己尝试尝试哈。我们下期见!
diff --git "a/website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/002/1.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/002/1.png"
similarity index 100%
rename from "website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/002/1.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/002/1.png"
diff --git "a/website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/002/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/002/2.jpg"
similarity index 100%
rename from "website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/002/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/002/2.jpg"
diff --git "a/website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/003.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/003.md"
similarity index 96%
rename from "website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/003.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/003.md"
index abf2e2d3..9d1ef371 100644
--- "a/website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/003.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/003.md"
@@ -1,12 +1,12 @@
----
-title: 买卖股票的最佳时机(122)
----
+
+## 买卖股票的最佳时机(122)
+
## 01、题目分析
在leetcode上,股票相关的题目有8道之多:
-
+
而且这一类型的题,面试时出现的频率非常的高。稍微改一改条件,就让我们防不胜防。那我们如何攻克这一类题型呢?我们从最简单的一道开始看起:
@@ -63,7 +63,7 @@ title: 买卖股票的最佳时机(122)
假设给定的数组为:[7, 1, 5, 3, 6, 4] 我们将其绘制成折线图,大概是下面这样:
-
+
如我们上面分析,我们要在满足1和2的条件下获取最大利益,其实就是尽可能多的低价买入高价卖出。而**每一次上升波段,其实就是一次低价买入高价卖出**。而我们没有限制交易次数,也就是我们需要**求出所有的上升波段的和**。上图里就是A+B,也就是(5-1)+(6-3) = 7,就是我们能获取到的最大利益。
diff --git "a/website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/003/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/003/1.jpg"
similarity index 100%
rename from "website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/003/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/003/1.jpg"
diff --git "a/website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/003/2.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/003/2.png"
similarity index 100%
rename from "website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/003/2.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/003/2.png"
diff --git "a/website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/004.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/004.md"
similarity index 92%
rename from "website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/004.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/004.md"
index f0be2dd6..f24927f9 100644
--- "a/website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/004.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/004.md"
@@ -1,6 +1,6 @@
----
-title: 旋转数组(189)
----
+
+## 旋转数组(189)
+
## 01、题目分析
@@ -51,13 +51,13 @@ title: 旋转数组(189)
如下图可以看到5,6,7 被移动到 数组头部。
-
+
通过观察我们可以得到,我们要得到最终的结果。**我们只需要将所有元素反转,然后反转前 k 个元素,再反转后面l-k个元素,就能得到想要的结果。**
如下图:
-
+
## 03、题目解答
diff --git "a/website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/004/1.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/004/1.png"
similarity index 100%
rename from "website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/004/1.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/004/1.png"
diff --git "a/website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/004/2.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/004/2.png"
similarity index 100%
rename from "website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/004/2.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/004/2.png"
diff --git "a/website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/005.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/005.md"
similarity index 95%
rename from "website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/005.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/005.md"
index 78ef4f63..95d74324 100644
--- "a/website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/005.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/005.md"
@@ -1,6 +1,6 @@
----
-title: 原地删除(27)
----
+
+## 原地删除(27)
+
## 01、题目分析
@@ -26,7 +26,7 @@ title: 原地删除(27)
具体过程如下图所示:
-
+
根据分析,我们可以得到下面的题解:
@@ -78,7 +78,7 @@ func removeElement(nums []int, val int) int {
移除的具体过程:
-
+
根据分析,我们可以得到下面的题解:
diff --git "a/website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/005/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/005/1.jpg"
similarity index 100%
rename from "website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/005/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/005/1.jpg"
diff --git "a/website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/005/2.jpeg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/005/2.jpeg"
similarity index 100%
rename from "website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/005/2.jpeg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/005/2.jpeg"
diff --git "a/website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/006.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/006.md"
similarity index 94%
rename from "website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/006.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/006.md"
index 777fd751..1710f547 100644
--- "a/website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/006.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/006.md"
@@ -1,6 +1,6 @@
----
-title: 加一(66)
----
+
+## 加一(66)
+
> 看到这个标题,大家肯定会觉得,不就是“加1”嘛,这么简单的问题我可以!但是就是这么简单的“加1”可是面试的高频题哦,所以我们就一起来看看吧。按照往例,我们还是从一道LeetCode题开始吧。
## 01、题目分析
@@ -45,11 +45,11 @@ title: 加一(66)
大概是下面这样:(这个图解...真的有点太简单了...)
-
+
当然,这里我们需要考虑一种特殊情况,就是类似99,或者999,我们需要进行拼接数组。具体如下图:
-
+
通过以上分析,我们最后只需要将其转换成代码即可!这样看来,“加1”是不是也不像想象中的那么简单?
diff --git "a/website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/006/1.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/006/1.png"
similarity index 100%
rename from "website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/006/1.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/006/1.png"
diff --git "a/website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/006/2.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/006/2.png"
similarity index 100%
rename from "website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/006/2.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/006/2.png"
diff --git "a/website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/007.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/007.md"
similarity index 88%
rename from "website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/007.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/007.md"
index 3b3ff029..a3a47f82 100644
--- "a/website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/007.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/007.md"
@@ -1,6 +1,6 @@
----
-title: 两数之和(1)
----
+
+## 两数之和(1)
+
## 01、题目分析
@@ -41,7 +41,7 @@ func twoSum(nums []int, target int) []int {
执行结果:
-
+
> 运行成功,但是该种解题方式的时间复杂度过高,达到了O(n²)。为了对运行时间复杂度进行优化,我们需要一种更有效的方法来检查数组中是否存在目标元素。我们可以想到用**哈希表**的方式,通过以空间换取时间的方式来进行。
@@ -53,15 +53,15 @@ func twoSum(nums []int, target int) []int {
<1> 首先,我们还是先遍历数组 nums,i 为当前下标。我们需要将每一个遍历的值放入 map 中作为 key。
-
+
<2> 同时,对每个值都判断 map 中是否存在 **target-nums[i]** 的 key 值。在这里就是 9-7=2。我们可以看到 2 在 map 中已经存在。
-
+
<3> 所以,2 和 7 所在的 key 对应的 value,也就是 [0,1]。就是我们要找的两个数组下标。
-
+
## 03、Go语言示例
@@ -84,4 +84,4 @@ func twoSum(nums []int, target int) []int {
执行结果:
-
\ No newline at end of file
+
\ No newline at end of file
diff --git "a/website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/007/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/007/1.jpg"
similarity index 100%
rename from "website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/007/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/007/1.jpg"
diff --git "a/website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/007/2.jpeg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/007/2.jpeg"
similarity index 100%
rename from "website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/007/2.jpeg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/007/2.jpeg"
diff --git "a/website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/007/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/007/3.jpg"
similarity index 100%
rename from "website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/007/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/007/3.jpg"
diff --git "a/website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/007/4.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/007/4.jpg"
similarity index 100%
rename from "website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/007/4.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/007/4.jpg"
diff --git "a/website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/007/5.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/007/5.jpg"
similarity index 100%
rename from "website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/007/5.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/007/5.jpg"
diff --git "a/website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/008.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/008.md"
similarity index 94%
rename from "website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/008.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/008.md"
index cd7d1939..6ccd13a0 100644
--- "a/website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/008.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/008.md"
@@ -1,7 +1,7 @@
----
-title: 三数之和(15)
+
+## 三数之和(15)
date: 2020-07-06
----
+
> “时代中的一粒灰,落在个人那里,可能就是一座山。而我们偏偏处在一个尘土飞扬的时代之中。” 为表达全国各族人民对抗击新冠肺炎疫情斗争牺牲烈士和逝世同胞的深切哀悼,国务院于4月3日发布公告,决定 2020年4月4日 举行全国性哀悼活动。而我,在这里也致谢那些扛起大山的人!
@@ -48,19 +48,19 @@ date: 2020-07-06
求解过程如下:首先我们先把数组排个序(原因一会儿说),排完序长这样:
-
+
因为我们要同时找三个数,所以**采取固定一个数,同时用双指针来查找另外两个数的方式**。所以初始化时,我们选择固定第一个元素(当然,这一轮走完了,这个蓝框框我们就要也往前移动),同时将下一个元素和末尾元素分别设上 left 和 right 指针。画出图来就是下面这个样子:
-
+
现在已经找到了三个数,当然是计算其三值是否满足三元组。但是这里因为我们已经排好了序,如果**固定下来的数(上面蓝色框框)本身就大于 0,那三数之和必然无法等于 0**。比如下面这种:
-
+
然后自然用脚指头也能想到,我们需要移动指针。现在我们的排序就发挥出用处了,**如果和大于0,那就说明 right 的值太大,需要左移。如果和小于0,那就说明 left 的值太小**,需要右移。(上面这个思考过程是本题的核心) 整个过程如下图所示:
-
+
其中:在第6行时,因为三数之和大于0,所以right进行了左移。最后一行,跳过了重复的-1。
@@ -110,7 +110,7 @@ class Solution {
执行结果:
-
+
给一个python版本的(这个我就直接拿别人的代码了,思想都一样)
diff --git "a/website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/008/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/008/1.jpg"
similarity index 100%
rename from "website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/008/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/008/1.jpg"
diff --git "a/website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/008/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/008/2.jpg"
similarity index 100%
rename from "website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/008/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/008/2.jpg"
diff --git "a/website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/008/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/008/3.jpg"
similarity index 100%
rename from "website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/008/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/008/3.jpg"
diff --git "a/website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/008/4.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/008/4.jpg"
similarity index 100%
rename from "website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/008/4.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/008/4.jpg"
diff --git "a/website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/008/5.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/008/5.jpg"
similarity index 100%
rename from "website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/008/5.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/008/5.jpg"
diff --git "a/website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/009.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/009.md"
similarity index 92%
rename from "website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/009.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/009.md"
index 68301760..7d674dec 100644
--- "a/website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/009.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/009.md"
@@ -1,7 +1,7 @@
----
-title: Z字形变换(6)
+
+## Z字形变换(6)
date: 2020-07-08
----
+
> 今天为大家分享一道让很多人头疼过的题目 - Z字形变化。
@@ -53,7 +53,7 @@ E C I H N
T S G
```
-
+
## 02、题目分析
@@ -67,7 +67,7 @@ T S G
假若我们采用示例2的数据来进行分析,输入字符串 s 为 "LEETCODEISHIRING", numRows 为 4 ,画成图大概长这样:
-
+
重点来了,**我们的目标是按行打印,那总得有个东西来存储每行的数据吧**?因为只需要存储**每行**的数据,那是不是用个数组就可以了。(当然,你硬说搞个map来存也没啥毛病,就是有点闲得蛋疼)
@@ -75,23 +75,23 @@ T S G
问题来了,那数组设置多大呢?自然是有多少行我们就设置多大呗,换句话说,numRows多大,我们的数组就设置多大。画成图大概就是下面这个样子:
-
+
存储的容器有了,原字符串也列出来是啥样了,现在嘎哈?自然就是把原字符串放到容器里咯。怎么放?**根据 numRows 的大小来回进行放置即可**(即从0到n-1,再从n-1到0)。具体的请看下图:
-
+
上面的图长得不得了,但是观察我们能看出来,**每 2n-2 即为一个周期**。到了这里,应该没有人会质疑这是一道小学题目了吧。。。把所有的字符串放完之后,大概就是下面这个样子:
-
+
最后一步,咱们让这个数组排排坐,就可以开始吃果果:
-
+
如果看不清楚,不如这样:
-
+
根据分析,得出代码(好久没翻go的牌子了):
@@ -119,7 +119,7 @@ func convert(s string, numRows int) string {
执行结果:
-
+
上面的代码要强调两点:
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/23/1.gif" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/009/1.gif"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/23/1.gif"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/009/1.gif"
diff --git "a/website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/009/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/009/2.jpg"
similarity index 100%
rename from "website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/009/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/009/2.jpg"
diff --git "a/website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/009/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/009/3.jpg"
similarity index 100%
rename from "website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/009/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/009/3.jpg"
diff --git "a/website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/009/4.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/009/4.jpg"
similarity index 100%
rename from "website/1.0.\346\225\260\347\273\204\347\263\273\345\210\227/009/4.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/009/4.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/23/5.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/009/5.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/23/5.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/009/5.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/23/6.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/009/6.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/23/6.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/009/6.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/23/7.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/009/7.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/23/7.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/009/7.jpg"
diff --git "a/website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/23/8.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/009/8.jpg"
similarity index 100%
rename from "website/1.99.\345\205\266\344\273\226\350\241\245\345\205\205\351\242\230\347\233\256/23/8.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/3.\346\225\260\347\273\204\347\263\273\345\210\227/009/8.jpg"
diff --git "a/website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/101.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/101.md"
similarity index 93%
rename from "website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/101.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/101.md"
index 11f5fd78..88a25c05 100644
--- "a/website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/101.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/101.md"
@@ -1,6 +1,6 @@
----
-title: 删除链表倒数第N个节点(19)
----
+
+## 删除链表倒数第N个节点(19)
+
## 01、哨兵节点
@@ -10,7 +10,7 @@ title: 删除链表倒数第N个节点(19)
比如原链表为a->b->c,则加了哨兵节点的链表即为x->a->b>c,如下图:
-
+
那我们为什么需要引入哨兵节点呢?举个例子,比如我们要删除某链表的第一个元素,**常见的删除链表的操作是找到要删元素的前一个元素**,假如我们记为 pre。我们通过:
@@ -47,7 +47,7 @@ title: 删除链表倒数第N个节点(19)
> 首先我们思考,让我们删除倒数第N个元素,那我们**只要找到倒数第N个元素就可以了**,那怎么找呢?我们**只需要设置两个指针变量,中间间隔N-1元素。当后面的指针遍历完所有元素指向nil时,前面的指针就指向了我们要删除的元素。**如下图所示:
-
+
接下来,我们只要同时定位到要删除的元素的前1个元素,通过前面讲过的删除操作,就可以很顺利的完成这道题目啦。
@@ -63,7 +63,7 @@ title: 删除链表倒数第N个节点(19)
下面是解题过程图,可以看得更清楚哦。
-
+
## 04、题目解答
diff --git "a/website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/101/1.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/101/1.png"
similarity index 100%
rename from "website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/101/1.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/101/1.png"
diff --git "a/website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/101/2.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/101/2.png"
similarity index 100%
rename from "website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/101/2.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/101/2.png"
diff --git "a/website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/101/3.jpeg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/101/3.jpeg"
similarity index 100%
rename from "website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/101/3.jpeg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/101/3.jpeg"
diff --git "a/website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/102.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/102.md"
similarity index 89%
rename from "website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/102.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/102.md"
index 690ece4b..114dc759 100644
--- "a/website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/102.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/102.md"
@@ -1,6 +1,6 @@
----
-title: 合并两个有序链表(21)
----
+
+## 合并两个有序链表(21)
+
## 01、题目分析
@@ -29,7 +29,7 @@ l2 = [1,3,4]
同时我们设定一个 "prehead" 的哨兵节点,大概是下面这样:
-
+
## 02、题目图解
@@ -37,15 +37,15 @@ l2 = [1,3,4]
1. 首先我们将 prehead 指向 l1 或者 l2 中比较小的一个。如果相等,则任意一个都可以。此时的 l1 为 [2,4],l2 为 [1,3,4]
-
+
2. 我们继续上面的步骤。将 prehead 的链表指向 l1 和 l2 中较小的一个。现在这里就是指向1。
-
+
3. 反复上图步骤。
-
+
4. 现在 prehead.Next 就是我们需要的链表。
diff --git "a/website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/102/1.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/102/1.png"
similarity index 100%
rename from "website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/102/1.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/102/1.png"
diff --git "a/website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/102/2.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/102/2.png"
similarity index 100%
rename from "website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/102/2.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/102/2.png"
diff --git "a/website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/102/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/102/3.jpg"
similarity index 100%
rename from "website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/102/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/102/3.jpg"
diff --git "a/website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/102/4.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/102/4.jpg"
similarity index 100%
rename from "website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/102/4.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/102/4.jpg"
diff --git "a/website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/103.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/103.md"
similarity index 94%
rename from "website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/103.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/103.md"
index 12bf78fa..a246618f 100644
--- "a/website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/103.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/103.md"
@@ -1,6 +1,6 @@
----
-title: 环形链表(141)
----
+
+## 环形链表(141)
+
> 今天为大家带来,**链表检测成环**的经典题目。如果你觉得你会了,请你不妨耐心些认真看下去,我相信会有一些不一样的收获!还是先从一道题目开始哟,准备好了吗? Let' s go !
## 01、题目分析
@@ -17,7 +17,7 @@ title: 环形链表(141)
解释:链表中有一个环,其尾部连接到第二个节点。
```
-
+
**示例 2:**
@@ -27,7 +27,7 @@ title: 环形链表(141)
解释:链表中有一个环,其尾部连接到第一个节点。
```
-
+
**示例 3:**
@@ -37,7 +37,7 @@ title: 环形链表(141)
解释:链表中没有环。
```
-
+
> **题目可能你会觉得过于简单!但是不妨耐心看完!**
>
@@ -134,7 +134,7 @@ var hasCycle = function(head) {
假设链表为
, 其步骤如下:
-
+
分析完毕,直接上代码:
@@ -165,7 +165,7 @@ func hasCycle(head *ListNode) bool {
如果没看懂,我们来分析:在快的快追上慢的时,他们之间一定是只差 1 个或者 2 个格子。如果落后 1 个,那么下一次就追上了。如果落后 2 个,那么下一次就落后 1 个,再下一次就能追上!如下图:
-
+
所以我们的快指针的步长可以设置为 2 。
diff --git "a/website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/103/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/103/1.jpg"
similarity index 100%
rename from "website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/103/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/103/1.jpg"
diff --git "a/website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/103/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/103/2.jpg"
similarity index 100%
rename from "website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/103/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/103/2.jpg"
diff --git "a/website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/103/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/103/3.jpg"
similarity index 100%
rename from "website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/103/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/103/3.jpg"
diff --git "a/website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/103/4.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/103/4.jpg"
similarity index 100%
rename from "website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/103/4.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/103/4.jpg"
diff --git "a/website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/103/5.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/103/5.jpg"
similarity index 100%
rename from "website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/103/5.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/103/5.jpg"
diff --git "a/website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/103/6.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/103/6.jpg"
similarity index 100%
rename from "website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/103/6.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/103/6.jpg"
diff --git "a/website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/104.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/104.md"
similarity index 92%
rename from "website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/104.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/104.md"
index d2f0f0cc..f2eee258 100644
--- "a/website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/104.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/104.md"
@@ -1,7 +1,7 @@
----
-title: 两数相加(2)
+
+## 两数相加(2)
date: 2020-07-09
----
+
> 前几天写了一篇“小白为了面试如何刷题”的文章大受好评。随之而来的是好多小伙伴私下跑来问我“**浩哥,你说前200道题很好,但是前两百道题的难度很大,我不会怎么办**”这问题我想了一两天。。。好吧,既然你们说难不会。那我干脆就把前两百道题都给你们配上图解,全部安排,这样总可以了吧?牛气冲天有木有,哪个公号主敢这么干的!奥利给,搞起。今儿为大家分享经典面试题目 - 两数相加。做过的朋友,也不要急着叉掉,不妨借机复习一番。
@@ -53,23 +53,23 @@ date: 2020-07-09
老样子,我们还是先画图,假若我们的链表是 (2 -> 4 -> 3) + (5 -> 6 -> 4) ,大概就是这样(注意,这里我们其实是要完成 342 + 465):
-
+
加法肯定是从最低位到最高位进行相加,也就是这里的**链表头到链表尾进行相加,所以需要遍历链表**。我们令 l1 和 l2 指向两个链表的头,用一个 tmp 值来存储同一位相加的结果,以及一个新的链表来存储 tmp 的值。(为什么不直接用新链表存储结果,而是用 tmp 先存储结果,再用新链表存储 tmp 的值呢?请继续往下看)
-
+
记住:**所有模拟运算的题目,都需要考虑进位**。这里因为个位不涉及进位,开始计算十位。我们同时遍历 l1,l2,以及新链表到下一位。
-
+
重复上面的操作,可以看到十位与个位不同,发生了进位。这时,刚才的 tmp 就有了用武之地。**我们使用 tmp 携带进位的值到下一位的运算**。自然,这里的链表也不能直接存储 tmp 的值了,而是要存储 tmp%10 的值。重复这个步骤,**直到两个链表都遍历完成,并且 tmp 没有进位值**:
-
+
现在只需要返回我们的新链表就可以了。问题来了,**因为我们没有构造哨兵节点,所以此时不太容易直接返回新链表**。所以在整个流程的第一步,我们还需要用一个哨兵节点指向我们的新链表。
-
+
分析完毕,直接上代码(好久没翻Go的牌子了):
@@ -99,7 +99,7 @@ func addTwoNumbers(l1 *ListNode, l2 *ListNode) *ListNode {
执行结果:
-
+
## 03、总结
diff --git "a/website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/104/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/104/1.jpg"
similarity index 100%
rename from "website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/104/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/104/1.jpg"
diff --git "a/website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/104/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/104/2.jpg"
similarity index 100%
rename from "website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/104/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/104/2.jpg"
diff --git "a/website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/104/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/104/3.jpg"
similarity index 100%
rename from "website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/104/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/104/3.jpg"
diff --git "a/website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/104/4.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/104/4.jpg"
similarity index 100%
rename from "website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/104/4.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/104/4.jpg"
diff --git "a/website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/104/5.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/104/5.jpg"
similarity index 100%
rename from "website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/104/5.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/104/5.jpg"
diff --git "a/website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/104/6.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/104/6.jpg"
similarity index 100%
rename from "website/1.1.\351\223\276\350\241\250\347\263\273\345\210\227/104/6.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/4.\351\223\276\350\241\250\347\263\273\345\210\227/104/6.jpg"
diff --git "a/website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/201.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/201.md"
similarity index 99%
rename from "website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/201.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/201.md"
index 34e88a69..54f2f488 100644
--- "a/website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/201.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/201.md"
@@ -1,6 +1,6 @@
----
-title: 爬楼梯(70)
----
+
+## 爬楼梯(70)
+
## 01、概念讲解
diff --git "a/website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/201/1.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/201/1.png"
similarity index 100%
rename from "website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/201/1.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/201/1.png"
diff --git "a/website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/201/2.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/201/2.png"
similarity index 100%
rename from "website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/201/2.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/201/2.png"
diff --git "a/website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/202.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/202.md"
similarity index 97%
rename from "website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/202.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/202.md"
index 02d04cf5..553b97b8 100644
--- "a/website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/202.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/202.md"
@@ -1,6 +1,6 @@
----
-title: 最大子序和(53)
----
+
+## 最大子序和(53)
+
> 在上一篇文章[011.动态规划系列 —第一讲(70)](c1/011.md)中,我们讲解了DP的概念并且通过示例了解了什么是动态规划。本篇中,我们将继续通过1道简单题型,进一步学习动态规划的思想。
## 01、题目分析
@@ -63,7 +63,7 @@ title: 最大子序和(53)
+
## 03、Go语言示例
diff --git "a/website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/202/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/202/1.jpg"
similarity index 100%
rename from "website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/202/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/202/1.jpg"
diff --git "a/website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/203.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/203.md"
similarity index 95%
rename from "website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/203.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/203.md"
index a5707a59..87cc7023 100644
--- "a/website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/203.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/203.md"
@@ -1,6 +1,6 @@
----
-title: 最长上升子序列(300)
----
+
+## 最长上升子序列(300)
+
> 在上一篇中,我们了解了什么是DP(动态规划),并且通过DP中的经典问题 "最大子序和",学习了**状态转移方程**应该如何定义。在本节中,我们将沿用之前的分析方法,通过一道例题,进一步巩固之前的内容!
## 01、题目分析
@@ -33,7 +33,7 @@ title: 最长上升子序列(300)
我们假定nums为[1,9,5,9,3],如下图:
-
+
我们分两种情况进行讨论:
@@ -58,7 +58,7 @@ title: 最长上升子序列(300)
分析完毕,我们绘制成图:
-
+
## 03、Go语言示例
diff --git "a/website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/203/1.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/203/1.png"
similarity index 100%
rename from "website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/203/1.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/203/1.png"
diff --git "a/website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/203/2.jpeg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/203/2.jpeg"
similarity index 100%
rename from "website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/203/2.jpeg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/203/2.jpeg"
diff --git "a/website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204.md"
similarity index 91%
rename from "website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204.md"
index 59a8f9a9..e6c4aeed 100644
--- "a/website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204.md"
@@ -1,6 +1,6 @@
----
-title: 三角形最小路径和(120)
----
+
+## 三角形最小路径和(120)
+
> 在上一篇中,我们通过题目**“最长上升子序列” 以及 "最大子序和",**学习了DP(动态规划)在**线性关系**中的分析方法。这种分析方法,也在运筹学中被称为“线性动态规划”,具体指的是 “目标函数为特定变量的线性函数,约束是这些变量的线性不等式或等式,目的是求目标函数的最大值或最小值”。这点大家作为了解即可,不需要死记,更不要生搬硬套!
>
@@ -34,13 +34,13 @@ title: 三角形最小路径和(120)
[4,1,8,3]]
-
+
那从上到下的最小路径和就是2-3-5-1,等于11。
由于我们是使用数组来定义一个三角形,所以便于我们分析,我们将三角形稍微进行改动:
-
+
这样相当于我们将整个三角形进行了拉伸。这时候,我们根据题目中给出的条件:每一步只能移动到下一行中相邻
@@ -50,7 +50,7 @@ title: 三角形最小路径和(120)
到[3,1]和[3,2]的位置上。如下图所示:
-
+
题目明确了之后,现在我们开始进行分析。题目很明显是**一个找最优解的问题,并且可以从子问题的最优解进**
@@ -64,7 +64,7 @@ title: 三角形最小路径和(120)
继续分析,如果我们要求dp[i][j],那么其一定会从自己头顶上的两个元素移动而来。
-
+
如5这个位置的最小路径和,要么是从2-3-5而来,要么是从2-4-5而来。然后取两条路径和中较小的一个即可。进
@@ -74,17 +74,17 @@ title: 三角形最小路径和(120)
但是,我们这里会遇到一个问题!除了最顶上的元素之外,
-
+
**最左边的元素只能从自己头顶而来**。(2-3-6-4)
-
+
**最右边的元素只能从自己左上角而来**。(2-4-7-3)
然后,我们观察发现,**位于第2行的元素,都是特殊元素**(**因为都只能从[0,0]的元素走过来**)
-
+
我们可以直接将其特殊处理,得到:
@@ -153,7 +153,7 @@ func min(a, b int) int {
运行结果:
-
+
运行上面的代码,我们发现使用的内存过大。我们有没有什么办法可以压缩内存呢?通过观察我们发现,**在我们**
@@ -161,7 +161,7 @@ func min(a, b int) int {
**据**。绘制成图如下:
-
+
优化后的代码如下:
@@ -205,5 +205,5 @@ func min(a, b int) int {
运行结果:
-
+
diff --git "a/website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204/1.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204/1.png"
similarity index 100%
rename from "website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204/1.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204/1.png"
diff --git "a/website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204/10.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204/10.jpg"
similarity index 100%
rename from "website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204/10.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204/10.jpg"
diff --git "a/website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204/2.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204/2.png"
similarity index 100%
rename from "website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204/2.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204/2.png"
diff --git "a/website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204/3.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204/3.png"
similarity index 100%
rename from "website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204/3.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204/3.png"
diff --git "a/website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204/4.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204/4.png"
similarity index 100%
rename from "website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204/4.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204/4.png"
diff --git "a/website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204/5.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204/5.png"
similarity index 100%
rename from "website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204/5.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204/5.png"
diff --git "a/website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204/6.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204/6.png"
similarity index 100%
rename from "website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204/6.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204/6.png"
diff --git "a/website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204/7.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204/7.png"
similarity index 100%
rename from "website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204/7.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204/7.png"
diff --git "a/website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204/8.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204/8.jpg"
similarity index 100%
rename from "website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204/8.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204/8.jpg"
diff --git "a/website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204/9.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204/9.png"
similarity index 100%
rename from "website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204/9.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/204/9.png"
diff --git "a/website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/205.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/205.md"
similarity index 92%
rename from "website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/205.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/205.md"
index 401e2c1c..38329981 100644
--- "a/website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/205.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/205.md"
@@ -1,6 +1,6 @@
----
-title: 最小路径和(64)
----
+
+## 最小路径和(64)
+
> 在上一篇中,我们通过分析,顺利完成了“**三角形最小路径和**”的动态规划题解。在本节中,我们继续看一道相似题型,以求能完全掌握这种“路径和”的问题。话不多说,先看题目:
## 01、题目分析
@@ -34,7 +34,7 @@ title: 最小路径和(64)
首先我们分析题目,要找的是 **最小路径和,** 这是个啥意思呢?假设我们有一个 m * n 的矩形 :[[1,3,1],[1,5,1],[4,2,1]]
-
+
那从**左上角到右下角**的最小路径和,我们可以很容易看出就是 1-3-1-1-1 ,这一条路径,结果等于 7 。
@@ -50,7 +50,7 @@ title: 最小路径和(64)
继续分析,根据题目给的条件,如果我们要求 dp[i][j] ,那么它一定是从自己的上方或者左边移动而来。如下图所示:
-
+
>
+
最后,因为我们的目标是**从左上角走到右下角**,**整个网格的最小路径和其实就是包含右下角元素的最小路径和**。即:
@@ -125,11 +125,11 @@ func min(a, b int) int {
运行结果:
-
+
同样,运行上面的代码,我们发现使用的内存过大。有没有什么办法可以压缩内存呢?通过观察我们发现,**在我们自左上角到右下角计算各个节点的最小路径和的过程中,我们只需要使用到之前已经累积计算完毕的数据,并且不会再次访问之前的元素数据**。绘制成图如下:(大家看这个过程像不像扫雷,其实如果大家研究扫雷外挂的话,就会发现在扫雷的核心算法中,就有一处颇为类似这种分析方法,这里就不深究了)
-
+
优化后的代码如下:
@@ -163,7 +163,7 @@ func min(a, b int) int {
运行结果:
-
+
+
那我们就需要找到与9不相邻的前后两段中能获取到的最大金额。
-
+
我们发现题目进入恶性循环,因为我们若要找到与9不相邻的两端中能偷盗的最大金额,根据 dp[i] 的定义,我们就又需要分析在这两段中盗取每一间房子时所能获取的最大利益!想想都很可怕!所以我们放弃掉这种状态的定义。
@@ -78,7 +78,7 @@ title: 打家劫舍(198)
(相当于小贼背了个背包,里边装了之前偷来的财物,每到达下一个房间门口,来选择是偷还是不偷。)
-
+
## 03、GO语言示例
@@ -114,7 +114,7 @@ func max(a,b int) int {
运行结果:
-
+
同样,运行上面的代码,我们发现使用的内存过大。有没有什么办法可以压缩内存呢?我们很容易想到,在小贼偷盗的过程中,不可能转回头去到自己已经偷过的房间!(太蠢)小偷只需要每次将财物搬到下一个房间就行!
@@ -150,5 +150,5 @@ func max(a,b int) int {
运行结果:
-
+
diff --git "a/website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/206/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/206/1.jpg"
similarity index 100%
rename from "website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/206/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/206/1.jpg"
diff --git "a/website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/206/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/206/2.jpg"
similarity index 100%
rename from "website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/206/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/206/2.jpg"
diff --git "a/website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/206/3.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/206/3.png"
similarity index 100%
rename from "website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/206/3.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/206/3.png"
diff --git "a/website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/206/4.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/206/4.jpg"
similarity index 100%
rename from "website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/206/4.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/206/4.jpg"
diff --git "a/website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/206/5.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/206/5.jpg"
similarity index 100%
rename from "website/1.2.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/206/5.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/5.\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/206/5.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/301.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/301.md"
similarity index 93%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/301.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/301.md"
index 48f0beba..7de013f7 100644
--- "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/301.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/301.md"
@@ -1,6 +1,6 @@
----
-title: 反转字符串(301)
----
+
+## 反转字符串(301)
+
## 01、题目分析
@@ -38,7 +38,7 @@ title: 反转字符串(301)
具体过程如下图所示:
-
+
## 03、Go语言示例
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/301/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/301/1.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/301/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/301/1.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/302.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/302.md"
similarity index 93%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/302.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/302.md"
index e48610dd..7d745dc3 100644
--- "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/302.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/302.md"
@@ -1,6 +1,6 @@
----
-title: 字符串中的第一个唯一字符(387)
----
+
+## 字符串中的第一个唯一字符(387)
+
## 01、题目分析
@@ -30,7 +30,7 @@ s = "loveleetcode",
图解如下:
-
+
## 03、GO语言示例
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/302/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/302/1.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/302/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/302/1.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/303.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/303.md"
similarity index 95%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/303.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/303.md"
index 974ab65e..ff540014 100644
--- "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/303.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/303.md"
@@ -1,7 +1,7 @@
----
-title: 实现 Sunday 匹配
+
+## 实现 Sunday 匹配
date: 2020-07-08
----
+
> 前几天的内容大家可能会觉得比较散。这是因为我目前正在筹划**背包系列**和**贪心系列**两个主题的内容,所以时间比较紧张,就拿出了之前写的一些题解凑凑数。不过呢,今天我将为大家开启一个新的篇章 - **字符串匹配系列篇**,文章写得很用心,相信大家定有所获。
@@ -67,23 +67,23 @@ date: 2020-07-08
一般来讲,字符串匹配算法第一步,**都是把目标串和模式串对齐**。不管是KMP,BM,SUNDAY都是这样。
-
+
而对于SUNDAY算法,我们**从头部开始比较,一旦发现不匹配,直接找到主串中位于模式串后面的第一个字符**,即下面绿色的 “s”。(这里说明一下,为什么是找模式串后面的第一个字符。在把模式串和目标串对齐后,如果发现不匹配,那肯定需要移动模式串。问题是需要移动多少步。各字符串匹配算法之间的差别也来自于这个地方,对于KMP,是建立部分匹配表来计算。BM,是反向比较计算移动量。对于SUNDAY,就是找到模式串后的第一个字符。因为,无论模式串移动多少步,模式串后的第一个字符都要参与下一次比较,也就是这里的 “s”)
-
+
找到了模式串后的第一个字符 “s”,接下来该怎么做?我们需要**查看模式串中是否包含这个元素,如果不包含那就可以跳过一大片,从该字符的下一个字符开始比较。**
-
+
因为仍然不匹配(空格和l),我们继续重复上面的过程。找到模式串的下一个元素:t
-
+
现在有意思了,我们发现 t 被包含于模式串中,并且 t 出现在模式串倒数第3个。所以我们把模式串向前移动3个单位:
-
+
有内味了,我们发现竟然匹配成功了,是不是很神奇?证明的过程今天暂且不谈(后面我会出一个算法证明篇,来证明之前讲过的一些算法。**我需要你做的是,掌握上面这些!**)
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/303/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/303/1.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/303/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/303/1.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/303/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/303/2.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/303/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/303/2.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/303/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/303/3.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/303/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/303/3.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/303/4.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/303/4.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/303/4.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/303/4.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/303/5.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/303/5.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/303/5.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/303/5.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/304.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/304.md"
similarity index 97%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/304.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/304.md"
index 6a0734c8..0ca22b74 100644
--- "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/304.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/304.md"
@@ -1,7 +1,7 @@
----
-title: 大数打印
+
+## 大数打印
date: 2020-07-08
----
+
> 穿插着为大家分享一道经典面试题目。额外说明的一点是,这道题本身很简单,但是却可以作为很多 中等/困难 题目的基础,比如 超级次方,实现pow(x,n) 等等,在面试时需要额外小心。建议大家掌握!话不多说,直接看题。
@@ -98,7 +98,7 @@ func printNumbers(n int) []int {
执行结果:
-
+
## 04、题目继续升级
@@ -112,7 +112,7 @@ func printNumbers(n int) []int {
这里先复习一下大数加法:在加法运算的时候假如有两个10000位数的两个数进行相加,那么用int、long、double型都装不下这么多位数,**一般采用char数组来实现加法运算,解决精度的问题**。说白了是啥意思,我们用 1234567 和 1234 来模拟一下:
-
+
- 取两个数位数大的一个作为数组长度
- 对两个数建立char数组,保存每一位上的值
@@ -197,7 +197,7 @@ public void printNumbers(int n) {
同样,我也实验了一下,如果我硬性的把代码改成数组的形式,然后在leetcode测试用例中构造 n = 10,就会出现这个:
-
+
所以建议大家是在IDE里练习,今天的题目到这里就结束了。
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/304/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/304/1.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/304/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/304/1.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/304/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/304/2.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/304/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/304/2.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/304/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/304/3.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/304/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/304/3.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/305.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/305.md"
similarity index 95%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/305.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/305.md"
index a1e6cfc9..bd3bec38 100644
--- "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/305.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/305.md"
@@ -1,7 +1,7 @@
----
-title: 验证回文串(125)
+
+## 验证回文串(125)
date: 2020-07-10
----
+
> **今天是小浩算法 “365刷题计划”- 储备日。**难顶,我本来今天在写最长回文子串这个题目。然后我突然在想,直接讲这个会不会仍然有同学看不懂,为什么不从最简单的讲起呢。于是,今天的文章诞生了。于是,小浩又熬夜到了凌晨。
@@ -81,7 +81,7 @@ class Solution {
执行结果:
-
+
然后上面的代码大家肯定也觉得简单的一批。但是既然我们都知道哪些字符是幺蛾子(**除了字母和数字,都是幺蛾子**),为啥子不直接遍历的时候跳过嘞?这样是不是就不用先做一个替换的预处理了。
@@ -115,7 +115,7 @@ class Solution {
执行结果:
-
+
好吧,那既然我们都可以把幺蛾子跳过了,那有木有现成的跳过幺蛾子的API来用嘞?我找了找,java 中没有特别现成的拿来主义,但是我又不想造轮子,那就去别的语言里找找呗。
@@ -151,7 +151,7 @@ class Solution:
然后,我还想祭出终极大杀器 之 战斗魔鬼!
-
+
## 03、总结
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/305/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/305/1.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/305/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/305/1.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/305/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/305/2.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/305/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/305/2.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/305/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/305/3.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/305/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/305/3.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306.md"
similarity index 81%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306.md"
index 9fe62eba..c9b69f83 100644
--- "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306.md"
@@ -1,7 +1,7 @@
----
-title: KMP(上篇)
+
+## KMP(上篇)
date: 2020-07-11
----
+
> 今天打算为大家讲解一下KMP。
@@ -33,27 +33,27 @@ KMP 其实已经念念叨叨挺长时间了,一直没写的原因是我觉得
上面说了,**KMP 是由暴力匹配改进的字符串匹配算法**。那什么是暴力匹配?假若我们的目标串和模式串如下图。(之前在 Sunday 匹配中讲过,**所有的字符串匹配算法第一步都是对齐**。不管是 暴力匹配,KMP,Sunday,BM 都是一样)
-
+
暴力匹配,就是目标串和模式串一个一个的对比。
-
+
当A匹配成功,继续开始比对,直到我们遇见一个不匹配的字符。
-
+
然后我们调整模式串,**从目标串的下一个字符开始匹配(注意,这里是核心)**。很遗憾,还是没有匹配成功(A和B)
-
+
继续这个步骤:
-
+
直到我们完成整个匹配过程:
-
+
假若我们目标串长度为m,模式串长度为n。模式串与目标串至少比较m次,又因其自身长度为n,所以理论的时间复杂度为**O(m\*n)。** 但我们可以看到,**因为途中遇到不能匹配的字符时,就可以停止,并不需要完全对比(比如上图第2行)**。所以虽然理论时间复杂度为 **O(m\*n)** ,但其实大部分情况效率高很多。
@@ -85,71 +85,71 @@ func BFSearch(haystack string, needle string) int {
接下来我们开始说KMP。假如还是上面的这个串。最开始其实还是一样,我们依次对比A-A,B-B,C-C,直到遇见第一个无法匹配的字符A-E。
-
+
现在开始不一样了,如果按照上面的暴力匹配。此时目标串我们应该回到 B 这个位置,模式串应直接回到头。但是按照 KMP 的思路,**在我们在第一次匹配后,因为 BC 匹配成功了,所以我们知道了 BC 不等于 A(注意这个逻辑关系)**:
-
+
那既然已知了 BC 不等于 A,我们就没必要用 A 和 BC 进行匹配了。那我们直接用 A 越过前面不需要匹配的 BC:
-
+
继续向下适配,我们发现在 D-C 处,匹配不上了。
-
+
那我们因为前面的 B 又匹配成功了,那我们就知道 B 不等于 A,所以我们又可以直接略过前面的 B:
-
+
也就是说,我们可以直接从 D 处开始比较:
-
+
继续向下比较:
-
+
到现在为止,你已经掌握了 KMP 的前百分之五十:**在KMP中,如果模式串和目标串没有匹配成功,目标串不回溯**。现在我们需要换一个新串,来掌握接下来的百分之五十:
-
+
我们还是从头开始匹配,直到遇到第一个不匹配的字符:
-
+
到这里和上面的例子还是一样,**因为我们的 BC 匹配成功了,所以我们知道 BC 不等于 A,所以我们可以跳过 BC(注意这个逻辑)**:
-
+
所以我们从 A 处开始比较:
-
+
直到我们再次匹配失败:
-
+
我想到现在你已经知道怎么做了,来和我一起说。**因为前面的 B 匹配成功了,所以我们知道 B 不等于 A,所以我们可以跳过 B。** 当然,跳过之后下一次的匹配直接失败了(A-D)。
-
+
重点来了!!!然后我们继续匹配下一位。我们发现这一次,我们的匹配基本就要匹配成功了,但是卡在了最后一步的比较(D-B)。
-
+
现在怎么办?假若我们把两个串修改一下(把里边的AB修改成XY),那么显而易见,你当然知道从哪里开始:
-
+
但是现在的问题是,在模式串中 AB 重复出现了,那我们是不是可以在下次比较的时候直接把 AB 给让出来?
-
+
所以我们把这个AB让出来,让出来之后,我们相当于在 模式串 上又跳过了 2个字符。(也就是说模式串下一次匹配从C开始)
-
+
其实到这里 KMP 就基本完事了。我们可以稍微总结下:
@@ -178,11 +178,11 @@ func BFSearch(haystack string, needle string) int {
在我们上面的示例中,未成功的字符前的子串是 ABCEAB,它相同的最长的真前缀和真后缀就是 AB,最大长度就是2。所以我们就把模式串回溯到第2个位置处。
-
+
我猜有人要说话了,“不是说模式串是回溯到真前缀和真后缀的最大长度位置处吗?那为什么上面的第一个例子,是回到了起始位置呢?”
-
+
其实,不是我们没有回溯模式串,而是此时的最大长度(指的是相同真前缀和真后缀的最大长度,后面都省略)其实就是 0。
@@ -190,7 +190,7 @@ func BFSearch(haystack string, needle string) int {
那我们怎么获取最大长度呢?就可以很自然的引入 next表 了。**不管你是把next表 理解成描述最大长度的东东,还是把 next表 理解成用来回溯模式串的东东,其实都是可以的!!!这也是为什么你在网上看到很多人文章对next表理解不一致的原因。**
-
+
我们拿上面标黄色那个解释一下,ABCEAB 不包含自己,那就是 ABCEA,ABCEA的 真前缀 和 真后缀 为:
@@ -203,19 +203,19 @@ func BFSearch(haystack string, needle string) int {
所以最大长度就是 1。那这个 1 干啥用呢?我们可以在下次比的时候就直接把这个 A 让过去,直接从 B 开始比。
-
+
这里注意,如果我们模式串稍微修改成下面这样,此时 F 的最大长度就是 0,并不是 2。初学者很容易把 AB 误认为是最长相同的真前缀和真后缀。
-
+
到这里为止,其实 KMP 的思路已经快说完了。但是大神说话了,大神认为这个匹配表,还得再改改,不然会出问题。
-
+
为什么会出问题呢,我们说了,对 KMP 而言,**如果没有匹配成功,** **目标串是不回溯的**。那如果目标串不回溯,如果模式串一直都是 0,是不是意味着这个算法就没办法继续进行下去?所以大神把这个 next匹配表 改了一下,把 0 位置处的 next表 值改为了 -1。
-
+
那这个 -1 是干嘛用的呢?**其实只是一个代码技巧**!大家注意一下第 7 行代码,假若没有 j == -1,此时如果 next[j] 等于 0,是不是就进死循环了。而加上这一句,相当于说无论什么情况下,模式串的第一个字符都可以匹配(对 j 而言,此时 -1++,是不是还是0。但是此时模式串却向前走了。不就不会因为死循环而卡死了吗?**请大家自行脑补没有 j==-1 这行代码时,死循环卡死在11行的过程**)
@@ -250,7 +250,7 @@ func KmpSearch(haystack string, needle string, next []int) int {
我们用下面这个字符串来讲一下:XXYXXYXXX。
-
+
对于该字符串:
@@ -267,65 +267,65 @@ func KmpSearch(haystack string, needle string, next []int) int {
- 首先 index[0] 肯定是填写 0
-
+
- 然后填写 index[1]。**如果匹配上,我们把 i 和 j 都加一**。
-
+
- 然后填写 index[2],**如果没有匹配上,就把 j 回溯到 j 当前指向的前一个位置的 index 处。在这里,也就是 0 。**
-
+
- 注意,是回溯完成后才开始填表,此时 index[2] 为 0
-
+
- 然后我们移动 i,发现下一位匹配成功。同时给 i 和 j 加一,并填表。
-
+
- 填完表后,我们发现下一位仍然匹配。继续移动 i 和 j。
-
+
+
+
-
+
-
+
- 注意,**到这里开始匹配失败了**。上面说了,如果没有匹配成功,**把 j 回溯到 j 当前指向的前一个位置的 index 处**。在这里,也就是 2 。
-
+
-
+
+
+
+
+
+
我们发现这个表和我们最上面说的不太一样,我们最上面说的 next表 的首位是 -1,并且要记录哪一个 index 位置的 next 值,是去看该元素前面所有子串的真前缀和真后缀的最大长度。这句话有点拗口,我们还是看到下面这个。
-
+
比如 index 为 5 时,此时next的值是看 ABCEA 的最大长度(真后缀A,真前缀A,所以为1)。**但是在我们下面这个表中,我们发现我们是记录的当前索引位置处的最大长度**。其实我这里要说一下,下面这个表,其实我们一般称为**部分匹配表**,或者pmt。
-
+
那这个表和我们的 next 表有什么关系吗,我们发现把这个表往后串一位,就得到了我们最终的 next 表。
-
+
但是但是但是!!!并不是所有讲解 KMP 的地方都会给你提一提部分匹配表的概念,有的地方干脆就直接把这个 pmt 等同于 next 表使用。**这种属于错误讲解吗?其实不是的!** 因为我上面也说了,next表 在最初始位置补 -1,或者甚至干脆把 pmt 的第一位补一个 -1 当作 next表,这都统统是可以的。**因为最关键的还是说你到时候怎么去使用!毕竟 next表 的定义也是人们给它赋予的!**
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/1.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/1.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/10.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/10.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/10.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/10.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/11.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/11.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/11.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/11.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/12.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/12.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/12.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/12.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/13.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/13.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/13.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/13.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/14.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/14.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/14.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/14.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/15.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/15.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/15.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/15.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/16.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/16.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/16.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/16.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/17.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/17.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/17.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/17.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/18.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/18.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/18.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/18.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/19.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/19.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/19.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/19.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/2.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/2.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/20.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/20.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/20.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/20.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/21.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/21.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/21.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/21.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/22.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/22.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/22.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/22.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/23.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/23.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/23.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/23.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/24.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/24.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/24.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/24.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/25.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/25.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/25.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/25.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/26.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/26.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/26.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/26.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/27.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/27.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/27.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/27.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/28.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/28.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/28.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/28.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/29.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/29.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/29.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/29.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/3.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/3.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/30.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/30.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/30.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/30.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/31.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/31.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/31.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/31.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/32.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/32.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/32.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/32.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/33.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/33.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/33.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/33.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/34.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/34.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/34.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/34.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/35.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/35.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/35.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/35.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/36.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/36.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/36.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/36.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/37.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/37.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/37.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/37.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/38.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/38.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/38.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/38.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/39.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/39.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/39.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/39.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/4.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/4.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/4.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/4.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/40.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/40.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/40.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/40.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/41.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/41.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/41.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/41.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/42.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/42.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/42.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/42.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/43.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/43.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/43.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/43.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/44.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/44.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/44.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/44.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/45.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/45.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/45.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/45.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/46.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/46.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/46.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/46.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/47.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/47.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/47.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/47.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/48.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/48.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/48.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/48.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/49.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/49.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/49.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/49.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/5.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/5.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/5.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/5.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/50.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/50.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/50.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/50.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/51.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/51.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/51.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/51.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/6.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/6.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/6.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/6.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/7.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/7.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/7.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/7.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/8.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/8.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/8.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/8.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/9.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/9.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/9.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/306/9.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/307.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/307.md"
similarity index 90%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/307.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/307.md"
index c44c81e6..48b3e8a0 100644
--- "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/307.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/307.md"
@@ -1,7 +1,7 @@
----
-title: 旋转字符串(796)
+
+## 旋转字符串(796)
date: 2020-07-12
----
+
> 今天是小浩算法 “365刷题计划” 第103天。分享的这道题虽然很简单,但是在笔试或者面试当中,出现的频率却非常高。
@@ -37,7 +37,7 @@ date: 2020-07-12
题意还是很容易理解的,说白了就是每次把前面的元素放到最后面:
-
+
## 02、题解分析
@@ -47,7 +47,7 @@ date: 2020-07-12
这道题目最容易想到的解法,其实就是跟着题意来。每次将旋转后的A和目标串对比:
-
+
```java
//java
@@ -72,11 +72,11 @@ class Solution {
但是代码其实并不优雅,我们继续观察一下这个字符串:
-
+
无论它怎样旋转,最终的 A + A包含了所有可以通过旋转操作从 A 得到的字符串:
-
+
那我们是不是只需要判断 B 是否为 A + A 的子串就可以了:
@@ -91,11 +91,11 @@ class Solution {
执行结果:
-
+
一般面试写的话,基本就是到这个程度。但是大概率面试官这时还会问你一个问题:如何继续进行优化?
-
+
注意我们上面问题,其实已经转化为了:**判断 B 是否为 A + A 的子串**。那我们就可以引申答出 KMP,SUNDAY,BF 等字符串匹配策略。(当然,这里其实 SUNDAY 并不是特别适合)
@@ -145,7 +145,7 @@ class Solution {
> KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt提出的,因此人们称它为克努特—莫里斯—普拉特操作(简称KMP算法)。KMP算法的核心是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实现就是通过一个next()函数实现,函数本身包含了模式串的局部匹配信息。KMP算法的时间复杂度O(m+n)。
-
+
大家有兴趣可以看我之前写的一篇KMP教程:
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/307/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/307/1.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/307/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/307/1.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/307/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/307/2.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/307/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/307/2.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/307/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/307/3.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/307/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/307/3.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/307/4.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/307/4.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/307/4.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/307/4.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/307/5.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/307/5.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/307/5.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/307/5.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/307/6.gif" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/307/6.gif"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/307/6.gif"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/307/6.gif"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/307/7.gif" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/307/7.gif"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/307/7.gif"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/307/7.gif"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/308.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/308.md"
similarity index 94%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/308.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/308.md"
index 786bb0b8..34944b50 100644
--- "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/308.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/308.md"
@@ -1,7 +1,7 @@
----
-title: 最后一个单词的长度(58)
+
+## 最后一个单词的长度(58)
date: 2020-07-12
----
+
> 今天是小浩算法 “365刷题计划” 第107天。满血,复活!
@@ -13,7 +13,7 @@ date: 2020-07-12
暂定的目标是一周 3-5 篇题解。希望大家支持!一起进步!奥利给!
-
+
## 01、题目示例
@@ -52,7 +52,7 @@ date: 2020-07-12
但这里可以取一个巧,我们可以通过一个 count 来记数,**从第一个不为空格的数开始记起**。换句话说,如果末尾处为空格,此时 count 值为 0,可以直接略过。
-
+
实现代码如下:
@@ -126,7 +126,7 @@ public String trim() {
可以看到,Java 中的 trim 函数除了去除空格之外,还去除了所有在 ASCII 码表中排行小于等于空格的字符。
-
+
空格在 ASCII 码表中排行是 32位,可以看到 tab,换行,回车等都在 trim 的控制范围内。
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/308/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/308/1.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/308/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/308/1.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/308/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/308/2.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/308/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/308/2.jpg"
diff --git "a/website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/308/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/308/3.jpg"
similarity index 100%
rename from "website/1.3.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/308/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/6.\345\255\227\347\254\246\344\270\262\347\263\273\345\210\227/308/3.jpg"
diff --git "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/401.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/401.md"
similarity index 93%
rename from "website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/401.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/401.md"
index 4582d9ee..ed215431 100644
--- "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/401.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/401.md"
@@ -1,6 +1,6 @@
----
-title: 最大深度与DFS(104)
----
+
+## 最大深度与DFS(104)
+
> 在计算机科学中,二叉树是**每个结点最多有两个子树**的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于**实现二叉查找树**和**二叉堆**。树比链表稍微复杂,因为链表是线性数据结构,而树不是。树的问题很多都可以由**广度优先搜索**或**深度优先搜索解决**。
>
@@ -42,15 +42,15 @@ title: 最大深度与DFS(104)
<1>我们要对根节点的最大深度求解,就要对其左右子树的深度进行求解
-
+
<2>我们看出。以4为根节点的子树没有左右节点,其深度为 1 。而以 20 为根节点的子树的深度,同样取决于它的左右子树深度。
-
+
<3>对于15和7的子树,我们可以一眼看出其深度为 1 。
-
+
<4>由此我们可以得到根节点的最大深度为:
@@ -89,7 +89,7 @@ func max(a int, b int) int {
其实我们上面用的递归方式,本质上是使用了DFS的思想。先介绍一下DFS:深度优先搜索算法(Depth First Search),对于二叉树而言,它沿着**树的深度遍历树的节点,尽可能深的搜索树的分支**,**这一过程一直进行到已发现从源节点可达的所有节点为止**。
-
+
如上图二叉树,它的访问顺序为:
@@ -136,7 +136,7 @@ private List
+
1:首先将a压入栈
diff --git "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/401/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/401/1.jpg"
similarity index 100%
rename from "website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/401/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/401/1.jpg"
diff --git "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/401/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/401/2.jpg"
similarity index 100%
rename from "website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/401/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/401/2.jpg"
diff --git "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/401/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/401/3.jpg"
similarity index 100%
rename from "website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/401/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/401/3.jpg"
diff --git "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/401/4.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/401/4.jpg"
similarity index 100%
rename from "website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/401/4.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/401/4.jpg"
diff --git "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/401/5.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/401/5.jpg"
similarity index 100%
rename from "website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/401/5.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/401/5.jpg"
diff --git "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/402.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/402.md"
similarity index 92%
rename from "website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/402.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/402.md"
index e1fb9834..a3438be0 100644
--- "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/402.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/402.md"
@@ -1,6 +1,6 @@
----
-title: 层次遍历与BFS(102)
----
+
+## 层次遍历与BFS(102)
+
> 在上一节中,我们通过例题学习了二叉树的DFS(深度优先搜索),其实就是**沿着一个方向一直向下遍历**。那我们可不可以**按照高度一层一层的访问树中的数据**呢?当然可以,就是本节中我们要讲的BFS(宽度优先搜索),同时也被称为广度优先搜索。
>
@@ -31,7 +31,7 @@ title: 层次遍历与BFS(102)
BFS,广度/宽度优先。其实就是**从上到下,先把每一层遍历完之后再遍历一下一层**。假如我们的树如下:
-
+
按照BFS,访问顺序如下:
@@ -47,9 +47,9 @@ BFS,广度/宽度优先。其实就是**从上到下,先把每一层遍历
假设给定二叉树为[3,9,20,null,null,15,7],图解如下:
-
+
-
+
根据以上分析,代码如下:
@@ -81,7 +81,7 @@ func dfs(root *TreeNode, level int, res [][]int) [][]int {
具体步骤如下图:
-
+
根据以上分析,代码如下:
diff --git "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/402/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/402/1.jpg"
similarity index 100%
rename from "website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/402/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/402/1.jpg"
diff --git "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/402/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/402/2.jpg"
similarity index 100%
rename from "website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/402/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/402/2.jpg"
diff --git "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/402/3.jpeg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/402/3.jpeg"
similarity index 100%
rename from "website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/402/3.jpeg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/402/3.jpeg"
diff --git "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/402/4.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/402/4.jpg"
similarity index 100%
rename from "website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/402/4.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/402/4.jpg"
diff --git "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/403.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/403.md"
similarity index 92%
rename from "website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/403.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/403.md"
index ef5e333c..b1473d95 100644
--- "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/403.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/403.md"
@@ -1,6 +1,6 @@
----
-title: BST与其验证(98)
----
+
+## BST与其验证(98)
+
> 在上一节中,我们分别学习了DFS与BFS。在本节中,我们将继续学习一种特殊的二叉树结构 —— **二叉搜索树(BST)**。
## 01、二叉搜索树
@@ -15,11 +15,11 @@ title: BST与其验证(98)
比如下面这就是一颗二叉搜索树:
-
+
下面这两个都不是:
-
+
<1>图中4节点位置的数值应该大于根节点
@@ -90,9 +90,9 @@ func isBST(root *TreeNode,min, max int) bool{
运行结果:
-
+
如果觉得上文中的递归不太容易理解,可以通过下图理解:
-
+
diff --git "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/403/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/403/1.jpg"
similarity index 100%
rename from "website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/403/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/403/1.jpg"
diff --git "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/403/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/403/2.jpg"
similarity index 100%
rename from "website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/403/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/403/2.jpg"
diff --git "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/403/3.png" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/403/3.png"
similarity index 100%
rename from "website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/403/3.png"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/403/3.png"
diff --git "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/403/4.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/403/4.jpg"
similarity index 100%
rename from "website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/403/4.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/403/4.jpg"
diff --git "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/404.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/404.md"
similarity index 95%
rename from "website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/404.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/404.md"
index 5a06b8b4..f4f301db 100644
--- "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/404.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/404.md"
@@ -1,6 +1,6 @@
----
-title: BST 的查找(700)
----
+
+## BST 的查找(700)
+
> 在上一节中,我们学习了**二叉搜索树**。那我们如何**在二叉搜索树中查找一个元素**呢?和普通的二叉树又有何不同?我们将在本节内容中进行学习!
>
@@ -55,7 +55,7 @@ title: BST 的查找(700)
如下图就是一棵典型的BST:
-
+
## 03、图解分析
@@ -67,7 +67,7 @@ title: BST 的查找(700)
- 如果val大于当前结点的值,转向其右子树继续搜索;
- 如果已找到,则返回当前结点。
-
+
>
+
## 03、图解分析
@@ -81,19 +81,19 @@ key = 3
1、待删除的节点左子树为空,让待删除节点的右子树替代自己。
-
+
2、待删除的节点右子树为空,让待删除节点的左子树替代自己。
-
+
3、如果待删除的节点的左右子树都不为空。我们需要找到**比当前节点小的最大节点(前驱)**,来替换自己
-
+
或者**比当前节点大的最小节点(后继)**,来替换自己。
-
+
分析完毕,我们一起看代码怎么实现吧。
@@ -147,5 +147,5 @@ func deleteMinNode( root *TreeNode ) *TreeNode {
执行结果:
-
+
diff --git "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/405/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/405/1.jpg"
similarity index 100%
rename from "website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/405/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/405/1.jpg"
diff --git "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/405/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/405/2.jpg"
similarity index 100%
rename from "website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/405/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/405/2.jpg"
diff --git "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/405/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/405/3.jpg"
similarity index 100%
rename from "website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/405/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/405/3.jpg"
diff --git "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/405/4.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/405/4.jpg"
similarity index 100%
rename from "website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/405/4.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/405/4.jpg"
diff --git "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/405/5.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/405/5.jpg"
similarity index 100%
rename from "website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/405/5.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/405/5.jpg"
diff --git "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/405/6.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/405/6.jpg"
similarity index 100%
rename from "website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/405/6.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/405/6.jpg"
diff --git "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/406.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/406.md"
similarity index 91%
rename from "website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/406.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/406.md"
index 4f798f40..fa593623 100644
--- "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/406.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/406.md"
@@ -1,6 +1,6 @@
----
-title: 平衡二叉树(110)
----
+
+## 平衡二叉树(110)
+
> 在之前的系列中,我们已经学习了**二叉树的深度**以及**DFS**,如果不会可以先查看之前的文章。今天我们将对其进行应用,直接看题目。
## 01、题目分析
@@ -51,7 +51,7 @@ title: 平衡二叉树(110)
我们先复习一下之前对于树高度的求解:
-
+
这里唯一要注意的是,当我们判定**其中任意一个节点如果不满足平衡二叉树时,那说明整棵树已经不是一颗平衡二叉树**,我们可以**对其进行阻断,不需要继续递归下去**。
@@ -59,7 +59,7 @@ title: 平衡二叉树(110)
另外,需要注意的是,下面这棵并不是平衡二叉树:
-
+
## 03、代码分析
@@ -105,5 +105,5 @@ func abs(a int) int {
执行结果:
-
+
diff --git "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/406/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/406/1.jpg"
similarity index 100%
rename from "website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/406/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/406/1.jpg"
diff --git "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/406/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/406/2.jpg"
similarity index 100%
rename from "website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/406/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/406/2.jpg"
diff --git "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/406/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/406/3.jpg"
similarity index 100%
rename from "website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/406/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/406/3.jpg"
diff --git "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/407.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/407.md"
similarity index 88%
rename from "website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/407.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/407.md"
index 9d39382e..d5c4edf3 100644
--- "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/407.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/407.md"
@@ -1,7 +1,7 @@
----
-title: 完全二叉树(222)
+
+## 完全二叉树(222)
date: 2020-06-11
----
+
> 在上一篇中,我们学习了解了**平衡二叉树**,并且利用DFS进行了验证。在本节中,我们将继续学习**完全二叉树**的相关内容。首先了解一下什么是完全二叉树。
@@ -17,7 +17,7 @@ date: 2020-06-11
比如下面这颗:
-
+
那什么又是完全二叉树呢:
@@ -29,11 +29,11 @@ date: 2020-06-11
比如下面这颗:
-
+
而这颗就不是:
-
+
熟悉了概念,我们还是一起来看题目吧。
@@ -77,7 +77,7 @@ func countNodes(root *TreeNode) int {
执行结果:
-
+
但是很明显,出题者肯定不是要这种答案。因为这种答案和完全二叉树一毛钱关系都没有。所以我们继续思考。
@@ -89,19 +89,19 @@ func countNodes(root *TreeNode) int {
假如我们有树如下:
-
+
我们看到根节点的左右子树高度都为3,那么说明左子树是一颗满二叉树。因为节点已经填充到右子树了,左子树必定已经填满了。所以左子树的节点总数我们可以直接得到,是2^left - 1,加上当前这个root节点,则正好是2^3,即 8。然后只需要再对右子树进行递归统计即可。
-
+
那假如我们的树是这样:
-
+
我们看到左子树高度为3,右子树高度为2。说明此时最后一层不满,但倒数第二层已经满了,可以直接得到右子树的节点个数。同理,右子树节点+root节点,总数为2^right,即2^2。再对左子树进行递归查找。
-
+
根据分析,得出代码:
@@ -133,4 +133,4 @@ class Solution {
运行结果:
-
\ No newline at end of file
+
\ No newline at end of file
diff --git "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/407/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/407/1.jpg"
similarity index 100%
rename from "website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/407/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/407/1.jpg"
diff --git "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/407/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/407/2.jpg"
similarity index 100%
rename from "website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/407/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/407/2.jpg"
diff --git "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/407/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/407/3.jpg"
similarity index 100%
rename from "website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/407/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/407/3.jpg"
diff --git "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/407/4.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/407/4.jpg"
similarity index 100%
rename from "website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/407/4.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/407/4.jpg"
diff --git "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/407/5.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/407/5.jpg"
similarity index 100%
rename from "website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/407/5.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/407/5.jpg"
diff --git "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/407/6.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/407/6.jpg"
similarity index 100%
rename from "website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/407/6.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/407/6.jpg"
diff --git "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/407/7.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/407/7.jpg"
similarity index 100%
rename from "website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/407/7.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/407/7.jpg"
diff --git "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/407/8.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/407/8.jpg"
similarity index 100%
rename from "website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/407/8.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/407/8.jpg"
diff --git "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/407/9.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/407/9.jpg"
similarity index 100%
rename from "website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/407/9.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/407/9.jpg"
diff --git "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/408.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/408.md"
similarity index 89%
rename from "website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/408.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/408.md"
index c815c0ef..cc7d47b0 100644
--- "a/website/1.4.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/408.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/7.\344\272\214\345\217\211\346\240\221\347\263\273\345\210\227/408.md"
@@ -1,7 +1,7 @@
----
-title: 二叉树的剪枝(814)
+
+## 二叉树的剪枝(814)
date: 2020-06-11
----
+
> 在之前的系列中。我们学习了DFS、BFS,也熟悉了平衡二叉树,满二叉树,完全二叉树,BST(二叉搜索树)等概念。在本节中,我们将学习一种二叉树中常用的操作 —**剪枝**。这里额外说一点,就本人而言,对这个操作以及其衍化形式的使用会比较频繁。因为我是做规则引擎的,在规则引擎中,我们会有一个概念叫做**决策树**,那**如果一颗决策树完全生长,就会带来比较大的过拟合问题**。因为完全生长的决策树,每个节点只会包含一个样本。所以我们就**需要对决策树进行剪枝操作,来提升整个决策模型的泛化能力**(ML概念)... 听不懂也没关系,简单点讲,就是我觉得这个很重要,或者每道算法题都很重要。如果你在工作中没有用到,不是说明算法不重要,而可能是你还不够重要。
@@ -27,7 +27,7 @@ date: 2020-06-11
输出: [1,null,0,null,1]
```
-
+
**解释: **
@@ -43,7 +43,7 @@ date: 2020-06-11
输出: [1,null,1,null,1]
```
-
+
**示例3:**
@@ -52,7 +52,7 @@ date: 2020-06-11
输出: [1,1,0,1,1,null,1]
```
-
+
**说明:**
@@ -67,15 +67,15 @@ date: 2020-06-11
就是下面这样:
-
+
剪枝之后是这样:
-
+
剪什么大家应该都能理解。那关键是怎么剪?过程也很简单,**在递归的过程中,如果当前结点的左右节点皆为空,且当前结点为0,我们就将当前节点剪掉即可。**
-
+
根据分析,很自然得出代码:
@@ -99,7 +99,7 @@ func deal(node *TreeNode) *TreeNode {
运行结果:
-
+
+
根据分析,直接完成代码:
@@ -76,7 +76,7 @@ class Solution {
运行结果:
-
+
+
我们可以利用双端队列来实现一个窗口,目的是让该窗口可以做到**张弛有度**(汉语博大精深,也就是长度动态变化。其实用游标或者其他解法的目的都是一样的,就是去维护一个可变长的窗口)
@@ -102,7 +102,7 @@ class Solution {
假设 nums = [1,3,-1,-3,5,3,6,7],和 k = 3
-
+
> (小浩os:我觉得自己画的这个图对于双端队列的解法还是介绍的比较清晰的,大家好好看一下哦,这样我的努力也就没有白费呢。)
@@ -140,7 +140,7 @@ func maxSlidingWindow(nums []int, k int) []int {
执行结果:
-
+
+
当下一个元素在窗口没有出现过时,我们扩大窗口。
-
+
当下一个元素在窗口中出现过时,我们缩小窗口,将**出现过的元素以及其左边的元素**统统移出:
-
+
在整个过程中,我们**记录下窗口出现过的最大值**即可。而我们唯一要做的,只需要**尽可能扩大窗口**。
@@ -113,7 +113,7 @@ public class Solution {
执行结果:
-
+
通过观察,我们能看出来。如果是最坏情况的话,我们每一个字符都可能会访问两次,left一次,right一次,时间复杂度达到了O(2N),这是不可饶恕的。不理解的话看下图:
@@ -121,7 +121,7 @@ public class Solution {
假设我们的字符串为“abcdc”,对于abc我们都访问了2次。
-
+
那如何来进一步优化呢?
@@ -129,7 +129,7 @@ public class Solution {
其实我们可以定义**字符到索引的映射**,而不是简单通过一个集合来判断字符是否存在。这样的话,当我们**找到重复的字符时,我们可以立即跳过该窗口**,而不需要对之前的元素进行再次访问。
-
+
优化代码如下:
@@ -152,7 +152,7 @@ public class Solution {
执行结果:
-
+
修改之后,我们发现虽然时间复杂度有了一定提高,但是还是比较慢!如何更进一步的优化呢?我们可以使用一个256位的数组来替代hashmap,以进行优化。(因为ASCII码表里的**字符**总共有128个。ASCII码的长度是一个字节,8位,理论上可以表示256个字符,但是许多时候只谈128个。具体原因可以下去自行学习~)
@@ -180,7 +180,7 @@ class Solution {
执行结果:
-
+
我们发现优化后时间复杂度有了极大的改善!这里简单说一下原因,对于数组和hashmap访问时,两个谁快谁慢不是一定的,需要思考hashmap的底层实现,以及数据量大小。但是在这里,因为已知了待访问数据的下标,可以**直接寻址**,所以极大的缩短了查询时间。
diff --git "a/website/1.5.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/502/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/8.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/502/1.jpg"
similarity index 100%
rename from "website/1.5.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/502/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/8.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/502/1.jpg"
diff --git "a/website/1.5.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/502/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/8.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/502/2.jpg"
similarity index 100%
rename from "website/1.5.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/502/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/8.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/502/2.jpg"
diff --git "a/website/1.5.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/502/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/8.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/502/3.jpg"
similarity index 100%
rename from "website/1.5.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/502/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/8.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/502/3.jpg"
diff --git "a/website/1.5.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/502/4.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/8.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/502/4.jpg"
similarity index 100%
rename from "website/1.5.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/502/4.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/8.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/502/4.jpg"
diff --git "a/website/1.5.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/502/5.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/8.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/502/5.jpg"
similarity index 100%
rename from "website/1.5.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/502/5.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/8.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/502/5.jpg"
diff --git "a/website/1.5.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/502/6.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/8.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/502/6.jpg"
similarity index 100%
rename from "website/1.5.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/502/6.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/8.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/502/6.jpg"
diff --git "a/website/1.5.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/502/7.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/8.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/502/7.jpg"
similarity index 100%
rename from "website/1.5.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/502/7.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/8.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/502/7.jpg"
diff --git "a/website/1.5.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/502/8.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/8.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/502/8.jpg"
similarity index 100%
rename from "website/1.5.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/502/8.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/8.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/502/8.jpg"
diff --git "a/website/1.5.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/503.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/8.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/503.md"
similarity index 94%
rename from "website/1.5.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/503.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/8.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/503.md"
index 7623461f..e0791d90 100644
--- "a/website/1.5.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/503.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/8.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/503.md"
@@ -1,7 +1,7 @@
----
-title: 字母异位词(438)
+
+## 字母异位词(438)
date: 2020-06-12
----
+
> 之前的两节讲解了**滑动窗口类**问题的**模式解法**,相信大家对该类题型已不陌生**。**今天将继续完成一道题目,来进行巩固学习。
@@ -66,7 +66,7 @@ date: 2020-06-12
我们通过双指针维护一个窗口,由于我们只需要判断字母异位词,我们可以将窗口初始化大小和目标串保持一致。(当然,你也可以初始化窗口为1,逐步扩大)
-
+
而**判断字母异位词**,我们需要**保证窗口中的字母出现次数与目标串中的字母出现次数一致**。这里因为字母只有26个,直接使用数组来替代map进行存储(和上一讲中的ASCII使用256数组存储思想一致)。
@@ -74,13 +74,13 @@ date: 2020-06-12
pArr为目标串数组,sArr为窗口数组。我们发现初始化数组,本身就满足,记录下来。(**这里图示用map模拟数组,便于理解**)
-
+
然后我们通过移动窗口,来更新窗口数组,进而和目标数组匹配,匹配成功进行记录。每一次窗口移动,**左指针前移**,原来**左指针位置处的数值减1,表示字母移出**;**同时右指针前移**,**右指针位置处的数值加1,表示字母移入**。详细过程如下:
-
+
-
+
最终,当右指针到达边界,意味着匹配完成。
@@ -144,7 +144,7 @@ class Solution {
执行结果:
-
+
PS:本题属于模式解法,非最优解!这里留下思考内容,如何在本解法的基础上进行优化,近一步降低时间复杂度?
diff --git "a/website/1.5.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/503/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/8.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/503/1.jpg"
similarity index 100%
rename from "website/1.5.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/503/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/8.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/503/1.jpg"
diff --git "a/website/1.5.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/503/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/8.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/503/2.jpg"
similarity index 100%
rename from "website/1.5.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/503/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/8.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/503/2.jpg"
diff --git "a/website/1.5.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/503/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/8.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/503/3.jpg"
similarity index 100%
rename from "website/1.5.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/503/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/8.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/503/3.jpg"
diff --git "a/website/1.5.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/503/4.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/8.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/503/4.jpg"
similarity index 100%
rename from "website/1.5.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/503/4.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/8.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/503/4.jpg"
diff --git "a/website/1.5.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/503/5.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/8.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/503/5.jpg"
similarity index 100%
rename from "website/1.5.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/503/5.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/8.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/503/5.jpg"
diff --git "a/website/1.5.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/504.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/8.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/504.md"
similarity index 93%
rename from "website/1.5.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/504.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/8.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/504.md"
index e4e86181..77e6800f 100644
--- "a/website/1.5.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/504.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/8.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/504.md"
@@ -1,7 +1,7 @@
----
-title: 和为s的连续正数序列
+
+## 和为s的连续正数序列
date: 2020-07-08
----
+
> 昨天写了一篇感悟,没想到那么受欢迎。几百人转发,好几千人阅读,虚荣心得到了极大的满足。今天继续为大家分享一道经典面试题目。
@@ -45,23 +45,23 @@ date: 2020-07-08
假若我们输入的 target 为 9,大脑中应该有下面这么个玩意:
-
+
然后我们通过左右指针来维护一个滑动窗口,同时计算窗口内的值是否是目标值:
-
+
如果窗口的值过小,我们就移动右边界。
-
+
如果窗口的值过大,我们就移动左边界。
-
+
剩下的就是反复上面的操作就可以了。到这里分析过程看似结束了。但是我们可以观察出一丢丢规律,用来优化我们的算法。**对于任意一个正整数,总是小于它的中值与中值+1的和**。为了让大家直观,用下图举例:
-
+
比如这里的100,就一定小于50+51,换成其他数也一样。换句话说,**一旦窗口左边界超过中值,窗口内的和一定会大于 target**。
diff --git "a/website/1.5.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/504/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/8.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/504/1.jpg"
similarity index 100%
rename from "website/1.5.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/504/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/8.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/504/1.jpg"
diff --git "a/website/1.5.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/504/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/8.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/504/2.jpg"
similarity index 100%
rename from "website/1.5.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/504/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/8.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/504/2.jpg"
diff --git "a/website/1.5.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/504/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/8.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/504/3.jpg"
similarity index 100%
rename from "website/1.5.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/504/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/8.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/504/3.jpg"
diff --git "a/website/1.5.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/504/4.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/8.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/504/4.jpg"
similarity index 100%
rename from "website/1.5.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/504/4.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/8.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/504/4.jpg"
diff --git "a/website/1.5.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/504/5.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/8.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/504/5.jpg"
similarity index 100%
rename from "website/1.5.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/504/5.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/8.\346\273\221\345\212\250\347\252\227\345\217\243\347\263\273\345\210\227/504/5.jpg"
diff --git "a/website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/601.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/601.md"
similarity index 97%
rename from "website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/601.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/601.md"
index 733abc6b..82d47f43 100644
--- "a/website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/601.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/601.md"
@@ -1,7 +1,7 @@
----
-title: 囚徒困境
+
+## 囚徒困境
date: 2020-06-14
----
+
> 本系列将为大家带来一整套的**博弈论问题**。因为在面试的过程中,除了常规的算法题目,我们经常也会被问到一些趣味题型来考察思维,而这类问题中,很多都有博弈论的影子存在。这些公司里以FLAG(Facebook, LinkedIn, Amazon, Google)为典型,特别喜欢考察本类题型。同时,本系列将不一定都是算法问题,不是IT行业的小伙伴也可以进行学习,来提高分析问题的能力~
@@ -49,7 +49,7 @@ date: 2020-06-14
所以犯人甲的结论是,**唯一理性的选择就是背叛同伙**,把一切都告诉警方!这样的话,如果他的同伙笨得只会保持沉默,那么他就会是那个离开的人。而如果他的同伙也根据这个逻辑向警方交代了,那么也没有关系,起码他不必服最重的刑!
-
+
## 03、囚徒困境与纳什均衡
diff --git "a/website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/601/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/601/1.jpg"
similarity index 100%
rename from "website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/601/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/601/1.jpg"
diff --git "a/website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/602.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/602.md"
similarity index 95%
rename from "website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/602.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/602.md"
index bf40963b..1df76dc0 100644
--- "a/website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/602.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/602.md"
@@ -1,7 +1,7 @@
----
-title: 辛普森悖论
+
+## 辛普森悖论
date: 2020-06-14
----
+
> 本系列主要为大家带来一整套的**博弈论问题(广义)**。因为在面试的过程中,除了常规的算法题目,我们经常也会被问到一些趣味题型来考察思维,而这类问题中,很多都有博弈论的影子存在。这些公司里以FLAG(Facebook, LinkedIn, Amazon, Google)为典型,特别喜欢考察本类题型。同时,本系列将不一定都是算法问题,不是IT行业的小伙伴也可以进行学习,来提高分析问题的能力~
@@ -11,7 +11,7 @@ date: 2020-06-14
| ------------------------------------------------------------ |
| 羊羊医院里统计了两种胆结石治疗方案的治愈率。在统计过程中,医生将病人分为大胆结石和小胆结石两组。统计结果如下: |
-
+
- 对于小胆结石而言,手术A的治愈率(93%)高于 手术B(87%)
@@ -25,7 +25,7 @@ date: 2020-06-14
但是真的是这样吗?当然不是,我们根据样本统计出大小胆结石总计的治愈率,发现**手术B(治愈率83%)其实是要高于手术A(治愈率78%)**。
-
+
为什么会出现这样的结果?这就是著名的**辛普森悖论。**
diff --git "a/website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/602/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/602/1.jpg"
similarity index 100%
rename from "website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/602/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/602/1.jpg"
diff --git "a/website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/602/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/602/2.jpg"
similarity index 100%
rename from "website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/602/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/602/2.jpg"
diff --git "a/website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/603.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/603.md"
similarity index 99%
rename from "website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/603.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/603.md"
index 86d6007d..fc12bcf0 100644
--- "a/website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/603.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/603.md"
@@ -1,7 +1,7 @@
----
-title: 红眼睛和蓝眼睛
+
+## 红眼睛和蓝眼睛
date: 2020-06-14
----
+
> 在面试的过程中,除了常规的算法题目,我们经常也会被问到一些趣味题型来考察思维,尤其以 FLAG(Facebook, LinkedIn, Amazon, Google)等公司为典型。而这类问题的背后,很多都有博弈论的影子。所以在本系列,我将为大家分享一整套需要掌握的**博弈论**相关知识,希望大家可以喜欢。
>
diff --git "a/website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/604.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/604.md"
similarity index 99%
rename from "website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/604.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/604.md"
index c155745b..3f0a2405 100644
--- "a/website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/604.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/604.md"
@@ -1,7 +1,7 @@
----
-title: 海盗分金币
+
+## 海盗分金币
date: 2020-06-14
----
+
>在面试的过程中,除了常规的算法题目,我们经常也会被问到一些趣味题型来考察思维,尤其以 FLAG(Facebook, LinkedIn, Amazon, Google)等公司为典型。而这类问题的背后,很多都有博弈论的影子。所以在本系列,我将为大家分享一整套需要掌握的**博弈论**相关知识,希望大家可以喜欢。
>
diff --git "a/website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/605.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/605.md"
similarity index 98%
rename from "website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/605.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/605.md"
index dfa01fda..b263b47f 100644
--- "a/website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/605.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/605.md"
@@ -1,7 +1,7 @@
----
-title: 智猪博弈
+
+## 智猪博弈
date: 2020-07-01
----
+
> 今天给大家讲解一个博弈论中很有趣的问题,智猪博弈。
@@ -35,7 +35,7 @@ date: 2020-07-01
用博弈论中的报酬矩阵,将图画出来,可能更加有助于大家思考:
-
+
- 如果小猪和大猪同时行动的话,则它们同时到达食槽,分别得到1个单位和5个单位的纯收益(付出4个单位的成本)
- 如果大猪行动,小猪等待,小猪可得到4个单位的纯收益,大猪得到的6个单位,付出2个单位的成本,实得4个单位;
diff --git "a/website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/605/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/605/1.jpg"
similarity index 100%
rename from "website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/605/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/605/1.jpg"
diff --git "a/website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/606.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/606.md"
similarity index 94%
rename from "website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/606.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/606.md"
index d22ace17..46d92509 100644
--- "a/website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/606.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/606.md"
@@ -1,7 +1,7 @@
----
-title: 生男生女的问题
+
+## 生男生女的问题
date: 2020-07-05
----
+
> 长时间的二分估计大家也看的头晕眼花了,所以今天为大家分享一个非常有趣的概率题目。
@@ -27,7 +27,7 @@ date: 2020-07-05
其实这个问题答案是比较反直觉的:**没有变化**。原因是因为:**生男生女的概率永远都是百分之50**。不相信的话,你可以尝试去当一下妇产科大夫,若干年后一定可以得出这个结论。
-
+
或者我们也可以换一种思路:我们不妨假设把一大批新婚夫妇关在一个超大的屋子里,逼着他们进行一轮一轮的生孩子游戏。第一轮里,有一半的夫妇生了男娃,退出了游戏;另一半夫妇得到的是女娃,进入第二轮。在第二轮里面,又有一半由于生出男娃而退出,自然,另一半生出女娃的夫妇进入第三轮……注意到,在每一轮里,新生男娃和新生女娃都是一样多的,因此把所有轮数合在一起看,男娃的总数和女娃的总数也一定是相同的。
@@ -43,11 +43,11 @@ date: 2020-07-05
2、**身体酸碱度。** 酸性体质容易疲惫,让人感觉到累。所以很多养生专家建议让身体处于碱性环境。前面这个,我觉得还是没问题的。但是养生专家同时也说:碱性环境下生孩子的几率会大一点。(这个我就搞不懂了??)
-
+
3、先有人后,才做数据统计,其他自己悟。如果悟不出来,可以看看家后面的那口井,只能说细思极恐。(并且我个人认为这是主要原因。。)
-
+
4、突然写到这里就不想写了,看到上面结论有点难受。。。就这样吧。。
diff --git "a/website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/606/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/606/1.jpg"
similarity index 100%
rename from "website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/606/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/606/1.jpg"
diff --git "a/website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/606/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/606/2.jpg"
similarity index 100%
rename from "website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/606/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/606/2.jpg"
diff --git "a/website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/606/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/606/3.jpg"
similarity index 100%
rename from "website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/606/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/606/3.jpg"
diff --git "a/website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/607.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/607.md"
similarity index 92%
rename from "website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/607.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/607.md"
index c47a2333..9798b62e 100644
--- "a/website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/607.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/607.md"
@@ -1,7 +1,7 @@
----
-title: 硬币问题
+
+## 硬币问题
date: 2020-07-06
----
+
> 今天继续为大家分享一道有趣的概率类问题(是有小伙伴咨询我的,在面试时会被问到哈~)
@@ -23,13 +23,13 @@ date: 2020-07-06
连续投掷三次,能产生八种结果,“正反反”和“反反正”两种可能性各占 1/8,序列也完全对称,获胜概率怎么说都应该是一样的。
-
+
所以对B而言,不应该有任何理由来怀疑该玩法的公平性。但是,答案真的是这样吗?事实,该游戏并不公平。虽然“正反反”和“反反正”在频率上出现的一样,但是其之间却有一个竞争关系:**一旦抛硬币产生其中一种序列,游戏即结束**。所以不论何时,只要抛出一个正面,也就意味着B必输无疑。换句话说,在整个游戏的前两次抛掷中,只要出现“正正”,“正反”,“反正”其中任一,A则一定会取得胜利。A和B的概率比达到3:1,优势不言而喻。
-
+
-
+
## 03、加强版
@@ -39,7 +39,7 @@ date: 2020-07-06
一副扑克牌不算大小王刚好是52张,随意洗牌。如果出现连续三张牌,花色依次是红黑黑,那么玩家A加一分;同时把翻开了的牌都丢掉,继续一张张翻没翻开的牌;类似地,一 旦出现连续三张牌恰好是黑黑红,则玩家B得一分,弃掉已翻开的牌后继续。结果会如何呢?(大家不妨写一个程序来进行验证)
-
+
上面的问题请认真思考(毕竟硬币题目只是简化版本,下面这种才是面试时更容易被问到的),评论区留下你们的想法,写的好的顶你到天花板。
diff --git "a/website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/607/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/607/1.jpg"
similarity index 100%
rename from "website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/607/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/607/1.jpg"
diff --git "a/website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/607/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/607/2.jpg"
similarity index 100%
rename from "website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/607/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/607/2.jpg"
diff --git "a/website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/607/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/607/3.jpg"
similarity index 100%
rename from "website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/607/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/607/3.jpg"
diff --git "a/website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/607/4.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/607/4.jpg"
similarity index 100%
rename from "website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/607/4.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/607/4.jpg"
diff --git "a/website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/608.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/608.md"
similarity index 96%
rename from "website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/608.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/608.md"
index 3bf1debc..ea3fa806 100644
--- "a/website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/608.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/608.md"
@@ -1,7 +1,7 @@
----
-title: 画圈圈的问题
+
+## 画圈圈的问题
date: 2020-07-06
----
+
> 这次小浩又出去面试了,面试官说想和我画圈圈(原题为狼厂校招面试题),想起来还有点羞羞的。
@@ -19,11 +19,11 @@ date: 2020-07-06
作为聪明机智的小浩(没见过这么夸自己的),最后当然是小浩获胜。获胜的方法:**小浩强烈要求先手进行游戏,并且在游戏开始时,先把正中间的两个小圆圈涂黑,于是左右两边各剩下了49个圆圈**。像是下面这样:
-
+
然后小浩开始模仿(逼死)面试官,面试官在左边涂掉哪些圆圈,小浩就对称地在右边涂掉哪些圆圈;面试官在右边涂掉哪些圆圈, 小浩就对称地在左边涂掉哪些圆圈。因此,只要面试官有走的,小浩就一定有走的,最终保证能获胜。
-
+
## 03、改编版
diff --git "a/website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/608/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/608/1.jpg"
similarity index 100%
rename from "website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/608/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/608/1.jpg"
diff --git "a/website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/608/2.gif" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/608/2.gif"
similarity index 100%
rename from "website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/608/2.gif"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/608/2.gif"
diff --git "a/website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/609.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/609.md"
similarity index 88%
rename from "website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/609.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/609.md"
index eafc0671..4ff4b39f 100644
--- "a/website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/609.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/609.md"
@@ -1,7 +1,7 @@
----
-title: 巧克力问题
+
+## 巧克力问题
date: 2020-07-06
----
+
> 这次小浩又出去面试,虽然面试官没让他修电暖气,但却给了他一块巧克力。。。(题目由读者在美团面试后提供)
@@ -23,19 +23,19 @@ date: 2020-07-06
作为聪明机智的小浩(没见过这么夸自己的),最后当然是小浩获胜。获胜的方法:**只要小浩一直保持巧克力是正方形就可以了**。刚开始,巧克力是10×10的,长这样:
-
+
不管面试官咋掰,最后都会掰成一个长宽不相等的正方形。举个栗子,假若面试官把巧克力掰成6×10的:
-
+
小浩就再把它掰成6×6的:
-
+
不管面试官咋整,小浩都将其变成正方形,直到最后一次将其变成一个1×1的巧克力,此时面试官就输掉了面试。哦不,是小浩赢得了面试。
-
+
## 03、超级改编版
@@ -45,7 +45,7 @@ date: 2020-07-06
如果巧克力换成边长为10的等边三角形,长这样:
-
+
每次只能**沿着线条掰下一个小等边三角形吃掉**,假若还是由面试官开局,请问,谁必胜?评论区留下你的分析过程吧(另外小浩为了感谢广大读者一直以来的支持,后面每周都会送出**百元红包**,得奖率20%,拉到最下面就可以参与了。如果可以的话,要是能帮我再点个**在看**,我将感激涕零~)
diff --git "a/website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/609/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/609/1.jpg"
similarity index 100%
rename from "website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/609/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/609/1.jpg"
diff --git "a/website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/609/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/609/2.jpg"
similarity index 100%
rename from "website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/609/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/609/2.jpg"
diff --git "a/website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/609/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/609/3.jpg"
similarity index 100%
rename from "website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/609/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/609/3.jpg"
diff --git "a/website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/609/4.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/609/4.jpg"
similarity index 100%
rename from "website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/609/4.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/609/4.jpg"
diff --git "a/website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/609/5.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/609/5.jpg"
similarity index 100%
rename from "website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/609/5.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/609/5.jpg"
diff --git "a/website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/610.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/610.md"
similarity index 94%
rename from "website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/610.md"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/610.md"
index bc054dfd..9d8f95b5 100644
--- "a/website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/610.md"
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/610.md"
@@ -1,7 +1,7 @@
----
-title: 大鱼和小鱼的问题
+
+## 大鱼和小鱼的问题
date: 2020-07-08
----
+
> 十年前有一款很出名的游戏叫做“孢子”,不知道大家玩没玩过。玩家最初扮演一个单细胞生物,通过“大鱼吃小鱼,小鱼吃虾米,虾米吃水藻”的规则,逐步进化为宇宙文明生物。换句话说,大鱼之上总是有更大的鱼存在。当然我们这里不是讨论这个游戏,而是思考一个有趣的问题:倘若所有的鱼都是理性的,那会出现怎样的情况呢?
@@ -29,19 +29,19 @@ date: 2020-07-08
我们是有十条鱼,分析起来是比较麻烦的。所以我们从最简单的两条鱼开始分析:
-
+
两条鱼的情况下,第二条鱼就是无敌的存在,他不用担心自己被吃掉!如果是三条鱼:
-
+
3条鱼的情况下,第2条鱼不能吃第1条鱼,否则将化为只有2条鱼的情形,它将会被第3条鱼吃掉。如果是四条鱼,就有意思了:
-
+
此时第2条鱼可以大胆地吃掉第1条鱼,因为根据前面的结论,它知道第3条鱼是不敢吃它的。问题来了,五条鱼会如何:
-
+
5条鱼的情况下,第2条鱼是不敢吃第1条鱼的,因为如果它吃了第一条鱼。问题转化为4条鱼的场景,原3号鱼就可以大胆吃掉原2号鱼,因为它知道4号鱼是不敢吃它的,否则5号鱼就会吃掉4号鱼(绕不绕)
@@ -82,7 +82,7 @@ date: 2020-07-08
这里值得强调的一点是,信息不对称 和 不完全信息,这两个的概念是有所不同的。划重点:不完全信息同时是经济学和博弈论中的概念,但是信息不对称大多指经济学中概念。这个大家了解一下即可(其实我个人觉得这种东东理解其本质就ok了,并不需要过于较真)下面的问题,摘自《经济学基础》题库
-
+
理论的东西就是这么枯燥,总之大家拿到这种题目知道怎么分析就ok了。
diff --git "a/website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/610/1.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/610/1.jpg"
similarity index 100%
rename from "website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/610/1.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/610/1.jpg"
diff --git "a/website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/610/2.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/610/2.jpg"
similarity index 100%
rename from "website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/610/2.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/610/2.jpg"
diff --git "a/website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/610/3.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/610/3.jpg"
similarity index 100%
rename from "website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/610/3.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/610/3.jpg"
diff --git "a/website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/610/4.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/610/4.jpg"
similarity index 100%
rename from "website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/610/4.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/610/4.jpg"
diff --git "a/website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/610/5.jpg" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/610/5.jpg"
similarity index 100%
rename from "website/1.6.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/610/5.jpg"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/9.\345\215\232\345\274\210\350\256\272\347\263\273\345\210\227/610/5.jpg"
diff --git "a/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/README.md" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/README.md"
new file mode 100644
index 00000000..e5123668
--- /dev/null
+++ "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/sourcefile/README.md"
@@ -0,0 +1,11 @@
+### 所有内容版权归作者所有,未经授权将依法追究法律责任!
+
+- 仅允许个人以学习为目的进行传播
+- 不允许任何其他平台进行转载
+- 不允许任何商业引用
+
+---
+
+#### 该目录源文件将不再更新,新的内容请移驾到我的个人网站进行学习或者下载
+
+[访问网站学习](https://www.geekxh.com)
\ No newline at end of file
diff --git "a/\345\260\217\346\265\251\347\256\227\346\263\225\345\233\276\350\247\243 100 \351\201\223/\345\222\214\345\260\217\346\265\251\345\255\246\347\256\227\346\263\225(0701\347\211\210\346\234\254).pdf" "b/PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/\345\222\214\345\260\217\346\265\251\345\255\246\347\256\227\346\263\225(0820\347\211\210\346\234\254).pdf"
old mode 100755
new mode 100644
similarity index 100%
rename from "\345\260\217\346\265\251\347\256\227\346\263\225\345\233\276\350\247\243 100 \351\201\223/\345\222\214\345\260\217\346\265\251\345\255\246\347\256\227\346\263\225(0701\347\211\210\346\234\254).pdf"
rename to "PART_2_\345\212\233\346\211\243\345\233\276\350\247\243/\345\222\214\345\260\217\346\265\251\345\255\246\347\256\227\346\263\225(0820\347\211\210\346\234\254).pdf"
diff --git "a/PART_3_\345\244\247\345\216\202\351\235\242\350\257\225/README.md" "b/PART_3_\345\244\247\345\216\202\351\235\242\350\257\225/README.md"
new file mode 100644
index 00000000..dc9b7e8c
--- /dev/null
+++ "b/PART_3_\345\244\247\345\216\202\351\235\242\350\257\225/README.md"
@@ -0,0 +1,13 @@
+## PART_3_大厂面试
+
+考虑到现在网上面经实在太杂,很多都冠以 “BAT” 之名,重复率、错误率都非常高。所以我尽可能的挑选出了我认为比较好的 50 篇面经(基本不重复),并对内容做了分类。
+
+建议大家把这个页面收藏起来,防止后面需要的时候找不到了。
+
+希望大家可以点个 star 支持一下~
+
+- [系统设计-长文(非常建议读,我自己也看了)](https://github.com/donnemartin/system-design-primer/blob/master/README-zh-Hans.md)
+- [后端-社招(两年): 蚂蚁 头条 PingCAP](https://github.com/aylei/interview)
+- [后端-京东-JAVA](https://www.cnblogs.com/wupeixuan/p/8908524.html#%E4%B8%80%E3%80%81java)
+- [后端-百度-高并发抢红包设计](https://github.com/xbox1994/Java-Interview/blob/master/MD/%E7%B3%BB%E7%BB%9F%E8%AE%BE%E8%AE%A1-%E9%AB%98%E5%B9%B6%E5%8F%91%E6%8A%A2%E7%BA%A2%E5%8C%85.md)
+- [NLP(机器学习)-百度](https://www.e-learn.cn/topic/95743)
diff --git "a/PART_3_\345\244\247\345\216\202\351\235\242\350\257\225/\346\261\207\346\200\273/\344\272\254\344\270\234\347\257\207.zip" "b/PART_3_\345\244\247\345\216\202\351\235\242\350\257\225/\346\261\207\346\200\273/\344\272\254\344\270\234\347\257\207.zip"
new file mode 100644
index 00000000..eb3eb5e3
Binary files /dev/null and "b/PART_3_\345\244\247\345\216\202\351\235\242\350\257\225/\346\261\207\346\200\273/\344\272\254\344\270\234\347\257\207.zip" differ
diff --git "a/PART_3_\345\244\247\345\216\202\351\235\242\350\257\225/\346\261\207\346\200\273/\345\215\216\344\270\272\347\257\207.zip" "b/PART_3_\345\244\247\345\216\202\351\235\242\350\257\225/\346\261\207\346\200\273/\345\215\216\344\270\272\347\257\207.zip"
new file mode 100644
index 00000000..77eadbd6
Binary files /dev/null and "b/PART_3_\345\244\247\345\216\202\351\235\242\350\257\225/\346\261\207\346\200\273/\345\215\216\344\270\272\347\257\207.zip" differ
diff --git "a/PART_3_\345\244\247\345\216\202\351\235\242\350\257\225/\346\261\207\346\200\273/\345\244\264\346\235\241\347\257\207.zip" "b/PART_3_\345\244\247\345\216\202\351\235\242\350\257\225/\346\261\207\346\200\273/\345\244\264\346\235\241\347\257\207.zip"
new file mode 100644
index 00000000..69bf482d
Binary files /dev/null and "b/PART_3_\345\244\247\345\216\202\351\235\242\350\257\225/\346\261\207\346\200\273/\345\244\264\346\235\241\347\257\207.zip" differ
diff --git "a/PART_3_\345\244\247\345\216\202\351\235\242\350\257\225/\346\261\207\346\200\273/\346\273\264\346\273\264\347\257\207.zip" "b/PART_3_\345\244\247\345\216\202\351\235\242\350\257\225/\346\261\207\346\200\273/\346\273\264\346\273\264\347\257\207.zip"
new file mode 100644
index 00000000..fa548543
Binary files /dev/null and "b/PART_3_\345\244\247\345\216\202\351\235\242\350\257\225/\346\261\207\346\200\273/\346\273\264\346\273\264\347\257\207.zip" differ
diff --git "a/PART_3_\345\244\247\345\216\202\351\235\242\350\257\225/\346\261\207\346\200\273/\347\231\276\345\272\246\347\257\207.zip" "b/PART_3_\345\244\247\345\216\202\351\235\242\350\257\225/\346\261\207\346\200\273/\347\231\276\345\272\246\347\257\207.zip"
new file mode 100644
index 00000000..0655cf21
Binary files /dev/null and "b/PART_3_\345\244\247\345\216\202\351\235\242\350\257\225/\346\261\207\346\200\273/\347\231\276\345\272\246\347\257\207.zip" differ
diff --git "a/PART_3_\345\244\247\345\216\202\351\235\242\350\257\225/\346\261\207\346\200\273/\347\276\216\345\233\242\347\257\207.zip" "b/PART_3_\345\244\247\345\216\202\351\235\242\350\257\225/\346\261\207\346\200\273/\347\276\216\345\233\242\347\257\207.zip"
new file mode 100644
index 00000000..79a43797
Binary files /dev/null and "b/PART_3_\345\244\247\345\216\202\351\235\242\350\257\225/\346\261\207\346\200\273/\347\276\216\345\233\242\347\257\207.zip" differ
diff --git "a/PART_3_\345\244\247\345\216\202\351\235\242\350\257\225/\346\261\207\346\200\273/\350\205\276\350\256\257\347\257\207.zip" "b/PART_3_\345\244\247\345\216\202\351\235\242\350\257\225/\346\261\207\346\200\273/\350\205\276\350\256\257\347\257\207.zip"
new file mode 100644
index 00000000..dd4ea160
Binary files /dev/null and "b/PART_3_\345\244\247\345\216\202\351\235\242\350\257\225/\346\261\207\346\200\273/\350\205\276\350\256\257\347\257\207.zip" differ
diff --git "a/PART_3_\345\244\247\345\216\202\351\235\242\350\257\225/\346\261\207\346\200\273/\351\230\277\351\207\214\347\257\207.zip" "b/PART_3_\345\244\247\345\216\202\351\235\242\350\257\225/\346\261\207\346\200\273/\351\230\277\351\207\214\347\257\207.zip"
new file mode 100644
index 00000000..1252ea2e
Binary files /dev/null and "b/PART_3_\345\244\247\345\216\202\351\235\242\350\257\225/\346\261\207\346\200\273/\351\230\277\351\207\214\347\257\207.zip" differ
diff --git "a/PART_4_CS\347\237\245\350\257\206\346\261\207\346\200\273/Linux/\344\270\200\346\226\207\350\257\273\346\207\202Linux.md" "b/PART_4_CS\347\237\245\350\257\206\346\261\207\346\200\273/Linux/\344\270\200\346\226\207\350\257\273\346\207\202Linux.md"
new file mode 100644
index 00000000..1422a5a3
--- /dev/null
+++ "b/PART_4_CS\347\237\245\350\257\206\346\261\207\346\200\273/Linux/\344\270\200\346\226\207\350\257\273\346\207\202Linux.md"
@@ -0,0 +1,1264 @@
+
+* [前言](#前言)
+* [一、常用操作以及概念](#一常用操作以及概念)
+ * [快捷键](#快捷键)
+ * [求助](#求助)
+ * [关机](#关机)
+ * [PATH](#path)
+ * [sudo](#sudo)
+ * [包管理工具](#包管理工具)
+ * [发行版](#发行版)
+ * [VIM 三个模式](#vim-三个模式)
+ * [GNU](#gnu)
+ * [开源协议](#开源协议)
+* [二、磁盘](#二磁盘)
+ * [磁盘接口](#磁盘接口)
+ * [磁盘的文件名](#磁盘的文件名)
+* [三、分区](#三分区)
+ * [分区表](#分区表)
+ * [开机检测程序](#开机检测程序)
+* [四、文件系统](#四文件系统)
+ * [分区与文件系统](#分区与文件系统)
+ * [组成](#组成)
+ * [文件读取](#文件读取)
+ * [磁盘碎片](#磁盘碎片)
+ * [block](#block)
+ * [inode](#inode)
+ * [目录](#目录)
+ * [日志](#日志)
+ * [挂载](#挂载)
+ * [目录配置](#目录配置)
+* [五、文件](#五文件)
+ * [文件属性](#文件属性)
+ * [文件与目录的基本操作](#文件与目录的基本操作)
+ * [修改权限](#修改权限)
+ * [默认权限](#默认权限)
+ * [目录的权限](#目录的权限)
+ * [链接](#链接)
+ * [获取文件内容](#获取文件内容)
+ * [指令与文件搜索](#指令与文件搜索)
+* [六、压缩与打包](#六压缩与打包)
+ * [压缩文件名](#压缩文件名)
+ * [压缩指令](#压缩指令)
+ * [打包](#打包)
+* [七、Bash](#七bash)
+ * [特性](#特性)
+ * [变量操作](#变量操作)
+ * [指令搜索顺序](#指令搜索顺序)
+ * [数据流重定向](#数据流重定向)
+* [八、管道指令](#八管道指令)
+ * [提取指令](#提取指令)
+ * [排序指令](#排序指令)
+ * [双向输出重定向](#双向输出重定向)
+ * [字符转换指令](#字符转换指令)
+ * [分区指令](#分区指令)
+* [九、正则表达式](#九正则表达式)
+ * [grep](#grep)
+ * [printf](#printf)
+ * [awk](#awk)
+* [十、进程管理](#十进程管理)
+ * [查看进程](#查看进程)
+ * [进程状态](#进程状态)
+ * [SIGCHLD](#sigchld)
+ * [wait()](#wait)
+ * [waitpid()](#waitpid)
+ * [孤儿进程](#孤儿进程)
+ * [僵尸进程](#僵尸进程)
+* [参考资料](#参考资料)
+
+
+
+# 前言
+
+为了便于理解,本文从常用操作和概念开始讲起。虽然已经尽量做到简化,但是涉及到的内容还是有点多。在面试中,Linux 知识点相对于网络和操作系统等知识点而言不是那么重要,只需要重点掌握一些原理和命令即可。为了方便大家准备面试,在此先将一些比较重要的知识点列出来:
+
+- 能简单使用 cat,grep,cut 等命令进行一些操作;
+- 文件系统相关的原理,inode 和 block 等概念,数据恢复;
+- 硬链接与软链接;
+- 进程管理相关,僵尸进程与孤儿进程,SIGCHLD 。
+
+# 一、常用操作以及概念
+
+## 快捷键
+
+- Tab:命令和文件名补全;
+- Ctrl+C:中断正在运行的程序;
+- Ctrl+D:结束键盘输入(End Of File,EOF)
+
+## 求助
+
+### 1. --help
+
+指令的基本用法与选项介绍。
+
+### 2. man
+
+man 是 manual 的缩写,将指令的具体信息显示出来。
+
+当执行 `man date` 时,有 DATE(1) 出现,其中的数字代表指令的类型,常用的数字及其类型如下:
+
+| 代号 | 类型 |
+| :--: | -- |
+| 1 | 用户在 shell 环境中可以操作的指令或者可执行文件 |
+| 5 | 配置文件 |
+| 8 | 系统管理员可以使用的管理指令 |
+
+### 3. info
+
+info 与 man 类似,但是 info 将文档分成一个个页面,每个页面可以跳转。
+
+### 4. doc
+
+/usr/share/doc 存放着软件的一整套说明文件。
+
+## 关机
+
+### 1. who
+
+在关机前需要先使用 who 命令查看有没有其它用户在线。
+
+### 2. sync
+
+为了加快对磁盘文件的读写速度,位于内存中的文件数据不会立即同步到磁盘,因此关机之前需要先进行 sync 同步操作。
+
+### 3. shutdown
+
+```html
+# shutdown [-krhc] 时间 [信息]
+-k : 不会关机,只是发送警告信息,通知所有在线的用户
+-r : 将系统的服务停掉后就重新启动
+-h : 将系统的服务停掉后就立即关机
+-c : 取消已经在进行的 shutdown
+```
+
+## PATH
+
+可以在环境变量 PATH 中声明可执行文件的路径,路径之间用 : 分隔。
+
+```html
+/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/dmtsai/.local/bin:/home/dmtsai/bin
+```
+
+## sudo
+
+sudo 允许一般用户使用 root 可执行的命令,不过只有在 /etc/sudoers 配置文件中添加的用户才能使用该指令。
+
+## 包管理工具
+
+RPM 和 DPKG 为最常见的两类软件包管理工具:
+
+- RPM 全称为 Redhat Package Manager,最早由 Red Hat 公司制定实施,随后被 GNU 开源操作系统接受并成为许多 Linux 系统的既定软件标准。YUM 基于 RPM,具有依赖管理和软件升级功能。
+- 与 RPM 竞争的是基于 Debian 操作系统的 DEB 软件包管理工具 DPKG,全称为 Debian Package,功能方面与 RPM 相似。
+
+## 发行版
+
+Linux 发行版是 Linux 内核及各种应用软件的集成版本。
+
+| 基于的包管理工具 | 商业发行版 | 社区发行版 |
+| :--: | :--: | :--: |
+| RPM | Red Hat | Fedora / CentOS |
+| DPKG | Ubuntu | Debian |
+
+## VIM 三个模式
+
+

+ 这也许是东半球最好的算法学习类项目! +
+ + +> 我自己刷题都是在 lintcode 进行,也会在上面更新题解!下方可以直接进入~ +- [www.lintcode.com](https://www.lintcode.com/?utm_source=tf-github-xh2022) +- [另外推荐一套算法课,北大FB双料大佬的,我之前上过,性价比很高](https://www.jiuzhang.com/course/71/?utm_source=tf-github-xh2022) +- 最后,下方扫码可以领取我准备的刷题模板 +
+
+
+ * Note that this object implements both interfaces to Originator and CareTaker + */ +public class PreviousCalculationImp implements PreviousCalculationToCareTaker, + PreviousCalculationToOriginator { + + private int firstNumber; + private int secondNumber; + + public PreviousCalculationImp(int firstNumber, int secondNumber) { + this.firstNumber = firstNumber; + this.secondNumber = secondNumber; + } + + @Override + public int getFirstNumber() { + return firstNumber; + } + + @Override + public int getSecondNumber() { + return secondNumber; + } +} +``` + +```java +/** + * CareTaker object + */ +public class Client { + + public static void main(String[] args) { + // program starts + Calculator calculator = new CalculatorImp(); + + // assume user enters two numbers + calculator.setFirstNumber(10); + calculator.setSecondNumber(100); + + // find result + System.out.println(calculator.getCalculationResult()); + + // Store result of this calculation in case of error + PreviousCalculationToCareTaker memento = calculator.backupLastCalculation(); + + // user enters a number + calculator.setFirstNumber(17); + + // user enters a wrong second number and calculates result + calculator.setSecondNumber(-290); + + // calculate result + System.out.println(calculator.getCalculationResult()); + + // user hits CTRL + Z to undo last operation and see last result + calculator.restorePreviousCalculation(memento); + + // result restored + System.out.println(calculator.getCalculationResult()); + } +} +``` + +```html +110 +-273 +110 +``` + +### JDK + +- java.io.Serializable + +你可以通过下方扫码回复【进群】,加入我们的高端计算机学习群!以及下载超过 100 张高清思维导图! + +
+ + + + + diff --git "a/other/designpattern/\345\244\226\350\247\202\346\250\241\345\274\217.md" "b/other/designpattern/\345\244\226\350\247\202\346\250\241\345\274\217.md" new file mode 100644 index 00000000..6c16edd8 --- /dev/null +++ "b/other/designpattern/\345\244\226\350\247\202\346\250\241\345\274\217.md" @@ -0,0 +1,71 @@ +## 外观(Facade) + +### 介绍 + +外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。 + +这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。 + +### Intent + +提供了一个统一的接口,用来访问子系统中的一群接口,从而让子系统更容易使用。 + +### Class Diagram + +
-
-
-
-
-
{{ item.desc }}
-- {{ $frontmatter.tagline || $description || 'Welcome to your vuePress-theme-reco site' }} -
-
-
{{ feature.details }}
-- {{ $frontmatter.tagline || $description || 'Welcome to your vuePress-theme-reco site' }} -
-
-
- ←
-
{{$site.description || $localeConfig.description}}
-${info}
`, - after: '{{ getMsg() }}-
+ * Note that this object implements both interfaces to Originator and CareTaker + */ +public class PreviousCalculationImp implements PreviousCalculationToCareTaker, + PreviousCalculationToOriginator { + + private int firstNumber; + private int secondNumber; + + public PreviousCalculationImp(int firstNumber, int secondNumber) { + this.firstNumber = firstNumber; + this.secondNumber = secondNumber; + } + + @Override + public int getFirstNumber() { + return firstNumber; + } + + @Override + public int getSecondNumber() { + return secondNumber; + } +} +``` + +```java +/** + * CareTaker object + */ +public class Client { + + public static void main(String[] args) { + // program starts + Calculator calculator = new CalculatorImp(); + + // assume user enters two numbers + calculator.setFirstNumber(10); + calculator.setSecondNumber(100); + + // find result + System.out.println(calculator.getCalculationResult()); + + // Store result of this calculation in case of error + PreviousCalculationToCareTaker memento = calculator.backupLastCalculation(); + + // user enters a number + calculator.setFirstNumber(17); + + // user enters a wrong second number and calculates result + calculator.setSecondNumber(-290); + + // calculate result + System.out.println(calculator.getCalculationResult()); + + // user hits CTRL + Z to undo last operation and see last result + calculator.restorePreviousCalculation(memento); + + // result restored + System.out.println(calculator.getCalculationResult()); + } +} +``` + +```html +110 +-273 +110 +``` + +### JDK + +- java.io.Serializable + +你可以通过下方扫码回复【进群】,加入我们的高端计算机学习群!以及下载超过 100 张高清思维导图! + +
+ + + + + diff --git "a/\347\256\227\346\263\225\350\257\273\347\211\251/\350\256\276\350\256\241\346\250\241\345\274\217/\345\244\226\350\247\202\346\250\241\345\274\217.md" "b/\347\256\227\346\263\225\350\257\273\347\211\251/\350\256\276\350\256\241\346\250\241\345\274\217/\345\244\226\350\247\202\346\250\241\345\274\217.md" new file mode 100644 index 00000000..6c16edd8 --- /dev/null +++ "b/\347\256\227\346\263\225\350\257\273\347\211\251/\350\256\276\350\256\241\346\250\241\345\274\217/\345\244\226\350\247\202\346\250\241\345\274\217.md" @@ -0,0 +1,71 @@ +## 外观(Facade) + +### 介绍 + +外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。 + +这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。 + +### Intent + +提供了一个统一的接口,用来访问子系统中的一群接口,从而让子系统更容易使用。 + +### Class Diagram + +