diff --git a/README.md b/README.md index b1db51c903..acd07c28d0 100644 --- a/README.md +++ b/README.md @@ -69,13 +69,14 @@ ## 前序 -* [「代码随想录」学习社区](https://programmercarl.com/other/kstar.html) +* [做项目(多个C++、Java、Go、前端、测开项目)](https://programmercarl.com/other/kstar.html) * 编程语言 * [C++面试&C++学习指南知识点整理](https://github.com/youngyangyang04/TechCPP) * [编程语言基础课](https://kamacoder.com/courseshop.php) * [23种设计模式](https://github.com/youngyangyang04/kama-DesignPattern) + * [大厂算法笔试题](https://kamacoder.com/company.php) * 工具 * [一站式vim配置](https://github.com/youngyangyang04/PowerVim) @@ -384,10 +385,10 @@ 8. [图论:孤岛的总面积](./problems/kamacoder/0101.孤岛的总面积.md) 9. [图论:沉没孤岛](./problems/kamacoder/0102.沉没孤岛.md) 10. [图论:水流问题](./problems/kamacoder/0103.水流问题.md) -11. [图论:建造最大岛屿](./problems/kamacoder/0104.建造最大岛屿.md) -12. [图论:字符串接龙](./problems/kamacoder/0110.字符串接龙.md) -13. [图论:有向图的完全可达性](./problems/kamacoder/0105.有向图的完全可达性.md) -14. [图论:岛屿的周长](./problems/kamacoder/0106.岛屿的周长.md) +11. [图论:岛屿的周长](./problems/kamacoder/0106.岛屿的周长.md) +12. [图论:建造最大岛屿](./problems/kamacoder/0104.建造最大岛屿.md) +13. [图论:字符串接龙](./problems/kamacoder/0110.字符串接龙.md) +14. [图论:有向图的完全可达性](./problems/kamacoder/0105.有向图的完全可达性.md) 15. [图论:并查集理论基础](./problems/kamacoder/图论并查集理论基础.md) 16. [图论:寻找存在的路径](./problems/kamacoder/0107.寻找存在的路径.md) 17. [图论:冗余连接](./problems/kamacoder/0108.冗余连接.md) diff --git "a/problems/0001.\344\270\244\346\225\260\344\271\213\345\222\214.md" "b/problems/0001.\344\270\244\346\225\260\344\271\213\345\222\214.md" index e982ae129b..63b9c714b2 100644 --- "a/problems/0001.\344\270\244\346\225\260\344\271\213\345\222\214.md" +++ "b/problems/0001.\344\270\244\346\225\260\344\271\213\345\222\214.md" @@ -85,10 +85,10 @@ map目的用来存放我们访问过的元素,因为遍历数组的时候, 过程如下: -![过程一](https://code-thinking-1253855093.file.myqcloud.com/pics/20220711202638.png) +![过程一](images/0001.两数之和-01.png) -![过程二](https://code-thinking-1253855093.file.myqcloud.com/pics/20230220223536.png) +![过程二](images/0001.两数之和-02.png) C++代码: diff --git "a/problems/0005.\346\234\200\351\225\277\345\233\236\346\226\207\345\255\220\344\270\262.md" "b/problems/0005.\346\234\200\351\225\277\345\233\236\346\226\207\345\255\220\344\270\262.md" index b3d3b93896..af1a14b404 100644 --- "a/problems/0005.\346\234\200\351\225\277\345\233\236\346\226\207\345\255\220\344\270\262.md" +++ "b/problems/0005.\346\234\200\351\225\277\345\233\236\346\226\207\345\255\220\344\270\262.md" @@ -108,7 +108,7 @@ dp[i][j]可以初始化为true么? 当然不行,怎能刚开始就全都匹 dp[i + 1][j - 1] 在 dp[i][j]的左下角,如图: -![647.回文子串](https://code-thinking-1253855093.file.myqcloud.com/pics/20210121171032473.jpg) +![647.回文子串](images/0005.最长回文子串-01.jpg) 如果这矩阵是从上到下,从左到右遍历,那么会用到没有计算过的dp[i + 1][j - 1],也就是根据不确定是不是回文的区间[i+1,j-1],来判断了[i,j]是不是回文,那结果一定是不对的。 @@ -142,7 +142,7 @@ for (int i = s.size() - 1; i >= 0; i--) { // 注意遍历顺序 举例,输入:"aaa",dp[i][j]状态如下: -![647.回文子串1](https://code-thinking-1253855093.file.myqcloud.com/pics/20210121171059951.jpg) +![647.回文子串1](images/0005.最长回文子串-02.jpg) **注意因为dp[i][j]的定义,所以j一定是大于等于i的,那么在填充dp[i][j]的时候一定是只填充右上半部分**。 diff --git "a/problems/0015.\344\270\211\346\225\260\344\271\213\345\222\214.md" "b/problems/0015.\344\270\211\346\225\260\344\271\213\345\222\214.md" index 1685db7452..577a9974d4 100644 --- "a/problems/0015.\344\270\211\346\225\260\344\271\213\345\222\214.md" +++ "b/problems/0015.\344\270\211\346\225\260\344\271\213\345\222\214.md" @@ -102,7 +102,7 @@ public: 动画效果如下: -![15.三数之和](https://code-thinking.cdn.bcebos.com/gifs/15.%E4%B8%89%E6%95%B0%E4%B9%8B%E5%92%8C.gif) +![15.三数之和](images/0015.三数之和-01.gif) 拿这个nums数组来举例,首先将数组排序,然后有一层for循环,i从下标0的地方开始,同时定一个下标left 定义在i+1的位置上,定义下标right 在数组结尾的位置上。 diff --git "a/problems/0017.\347\224\265\350\257\235\345\217\267\347\240\201\347\232\204\345\255\227\346\257\215\347\273\204\345\220\210.md" "b/problems/0017.\347\224\265\350\257\235\345\217\267\347\240\201\347\232\204\345\255\227\346\257\215\347\273\204\345\220\210.md" index 9a320ca0e6..6b55ba1bf8 100644 --- "a/problems/0017.\347\224\265\350\257\235\345\217\267\347\240\201\347\232\204\345\255\227\346\257\215\347\273\204\345\220\210.md" +++ "b/problems/0017.\347\224\265\350\257\235\345\217\267\347\240\201\347\232\204\345\255\227\346\257\215\347\273\204\345\220\210.md" @@ -13,7 +13,7 @@ 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 -![17.电话号码的字母组合](https://code-thinking-1253855093.file.myqcloud.com/pics/2020102916424043.png) +![17.电话号码的字母组合](images/0017.电话号码的字母组合-01.png) 示例: * 输入:"23" @@ -66,7 +66,7 @@ const string letterMap[10] = { 例如:输入:"23",抽象为树形结构,如图所示: -![17. 电话号码的字母组合](https://code-thinking-1253855093.file.myqcloud.com/pics/20201123200304469.png) +![17. 电话号码的字母组合](images/0017.电话号码的字母组合-02.png) 图中可以看出遍历的深度,就是输入"23"的长度,而叶子节点就是我们要收集的结果,输出["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"]。 diff --git "a/problems/0019.\345\210\240\351\231\244\351\223\276\350\241\250\347\232\204\345\200\222\346\225\260\347\254\254N\344\270\252\350\212\202\347\202\271.md" "b/problems/0019.\345\210\240\351\231\244\351\223\276\350\241\250\347\232\204\345\200\222\346\225\260\347\254\254N\344\270\252\350\212\202\347\202\271.md" index 16312d0fc4..d1c9929e3a 100644 --- "a/problems/0019.\345\210\240\351\231\244\351\223\276\350\241\250\347\232\204\345\200\222\346\225\260\347\254\254N\344\270\252\350\212\202\347\202\271.md" +++ "b/problems/0019.\345\210\240\351\231\244\351\223\276\350\241\250\347\232\204\345\200\222\346\225\260\347\254\254N\344\270\252\350\212\202\347\202\271.md" @@ -18,7 +18,7 @@ 示例 1: -![19.删除链表的倒数第N个节点](https://code-thinking-1253855093.file.myqcloud.com/pics/20210510085957392.png) +![19.删除链表的倒数第N个节点](images/0019.删除链表的倒数第N个节点-01.png) 输入:head = [1,2,3,4,5], n = 2 输出:[1,2,3,5] @@ -51,16 +51,16 @@ * 定义fast指针和slow指针,初始值为虚拟头结点,如图: - + * fast首先走n + 1步 ,为什么是n+1呢,因为只有这样同时移动的时候slow才能指向删除节点的上一个节点(方便做删除操作),如图: - + * fast和slow同时移动,直到fast指向末尾,如题: - + //图片中有错别词:应该将“只到”改为“直到” * 删除slow指向的下一个节点,如图: - + 此时不难写出如下C++代码: diff --git "a/problems/0020.\346\234\211\346\225\210\347\232\204\346\213\254\345\217\267.md" "b/problems/0020.\346\234\211\346\225\210\347\232\204\346\213\254\345\217\267.md" index 2475138ebb..a9a23878d3 100644 --- "a/problems/0020.\346\234\211\346\225\210\347\232\204\346\213\254\345\217\267.md" +++ "b/problems/0020.\346\234\211\346\225\210\347\232\204\346\213\254\345\217\267.md" @@ -83,13 +83,13 @@ cd a/b/c/../../ 1. 第一种情况,字符串里左方向的括号多余了 ,所以不匹配。 -![括号匹配1](https://code-thinking-1253855093.file.myqcloud.com/pics/2020080915505387.png) +![括号匹配1](images/0020.有效的括号-01.png) 2. 第二种情况,括号没有多余,但是 括号的类型没有匹配上。 -![括号匹配2](https://code-thinking-1253855093.file.myqcloud.com/pics/20200809155107397.png) +![括号匹配2](images/0020.有效的括号-02.png) 3. 第三种情况,字符串里右方向的括号多余了,所以不匹配。 -![括号匹配3](https://code-thinking-1253855093.file.myqcloud.com/pics/20200809155115779.png) +![括号匹配3](images/0020.有效的括号-03.png) @@ -97,7 +97,7 @@ cd a/b/c/../../ 动画如下: -![20.有效括号](https://code-thinking.cdn.bcebos.com/gifs/20.有效括号.gif) +![20.有效括号](images/0020.有效的括号-04.gif) 第一种情况:已经遍历完了字符串,但是栈不为空,说明有相应的左括号没有右括号来匹配,所以return false diff --git "a/problems/0024.\344\270\244\344\270\244\344\272\244\346\215\242\351\223\276\350\241\250\344\270\255\347\232\204\350\212\202\347\202\271.md" "b/problems/0024.\344\270\244\344\270\244\344\272\244\346\215\242\351\223\276\350\241\250\344\270\255\347\232\204\350\212\202\347\202\271.md" index 305bb7ccba..5efab0c1d1 100644 --- "a/problems/0024.\344\270\244\344\270\244\344\272\244\346\215\242\351\223\276\350\241\250\344\270\255\347\232\204\350\212\202\347\202\271.md" +++ "b/problems/0024.\344\270\244\344\270\244\344\272\244\346\215\242\351\223\276\350\241\250\344\270\255\347\232\204\350\212\202\347\202\271.md" @@ -14,7 +14,7 @@ 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 -24.两两交换链表中的节点-题意 +24.两两交换链表中的节点-题意 ## 算法公开课 @@ -33,16 +33,16 @@ 初始时,cur指向虚拟头结点,然后进行如下三步: -![24.两两交换链表中的节点1](https://code-thinking.cdn.bcebos.com/pics/24.%E4%B8%A4%E4%B8%A4%E4%BA%A4%E6%8D%A2%E9%93%BE%E8%A1%A8%E4%B8%AD%E7%9A%84%E8%8A%82%E7%82%B91.png) +![24.两两交换链表中的节点1](images/0024.两两交换链表中的节点-02.png) 操作之后,链表如下: -![24.两两交换链表中的节点2](https://code-thinking.cdn.bcebos.com/pics/24.%E4%B8%A4%E4%B8%A4%E4%BA%A4%E6%8D%A2%E9%93%BE%E8%A1%A8%E4%B8%AD%E7%9A%84%E8%8A%82%E7%82%B92.png) +![24.两两交换链表中的节点2](images/0024.两两交换链表中的节点-03.png) 看这个可能就更直观一些了: -![24.两两交换链表中的节点3](https://code-thinking.cdn.bcebos.com/pics/24.%E4%B8%A4%E4%B8%A4%E4%BA%A4%E6%8D%A2%E9%93%BE%E8%A1%A8%E4%B8%AD%E7%9A%84%E8%8A%82%E7%82%B93.png) +![24.两两交换链表中的节点3](images/0024.两两交换链表中的节点-04.png) 对应的C++代码实现如下: (注释中详细和如上图中的三步做对应) @@ -83,7 +83,7 @@ public: 心想应该没有更好的方法了吧,也就 $O(n)$ 的时间复杂度,重复提交几次,这样了: -![24.两两交换链表中的节点](https://code-thinking.cdn.bcebos.com/pics/24.%E4%B8%A4%E4%B8%A4%E4%BA%A4%E6%8D%A2%E9%93%BE%E8%A1%A8%E4%B8%AD%E7%9A%84%E8%8A%82%E7%82%B9.png) +![24.两两交换链表中的节点](images/0024.两两交换链表中的节点-05.png) 力扣上的统计如果两份代码是 100ms 和 300ms的耗时,其实是需要注意的。 diff --git "a/problems/0027.\347\247\273\351\231\244\345\205\203\347\264\240.md" "b/problems/0027.\347\247\273\351\231\244\345\205\203\347\264\240.md" index 10817ba6b7..248c036060 100644 --- "a/problems/0027.\347\247\273\351\231\244\345\205\203\347\264\240.md" +++ "b/problems/0027.\347\247\273\351\231\244\345\205\203\347\264\240.md" @@ -45,7 +45,7 @@ 删除过程如下: -![27.移除元素-暴力解法](https://code-thinking.cdn.bcebos.com/gifs/27.%E7%A7%BB%E9%99%A4%E5%85%83%E7%B4%A0-%E6%9A%B4%E5%8A%9B%E8%A7%A3%E6%B3%95.gif) +![27.移除元素-暴力解法](images/0027.移除元素-01.gif) 很明显暴力解法的时间复杂度是O(n^2),这道题目暴力解法在leetcode上是可以过的。 @@ -89,7 +89,7 @@ public: 删除过程如下: -![27.移除元素-双指针法](https://code-thinking.cdn.bcebos.com/gifs/27.%E7%A7%BB%E9%99%A4%E5%85%83%E7%B4%A0-%E5%8F%8C%E6%8C%87%E9%92%88%E6%B3%95.gif) +![27.移除元素-双指针法](images/0027.移除元素-02.gif) 很多同学不了解 diff --git "a/problems/0028.\345\256\236\347\216\260strStr.md" "b/problems/0028.\345\256\236\347\216\260strStr.md" index 63a08d960d..526873b31e 100644 --- "a/problems/0028.\345\256\236\347\216\260strStr.md" +++ "b/problems/0028.\345\256\236\347\216\260strStr.md" @@ -108,7 +108,7 @@ next数组就是一个前缀表(prefix table)。 如动画所示: -![KMP详解1](https://code-thinking.cdn.bcebos.com/gifs/KMP%E7%B2%BE%E8%AE%B21.gif) +![KMP详解1](images/0028.实现strStr-01.gif) 动画里,我特意把 子串`aa` 标记上了,这是有原因的,大家先注意一下,后面还会说到。 @@ -149,11 +149,11 @@ next数组就是一个前缀表(prefix table)。 这就是前缀表,那为啥就能告诉我们 上次匹配的位置,并跳过去呢? 回顾一下,刚刚匹配的过程在下标5的地方遇到不匹配,模式串是指向f,如图: -KMP精讲1 +KMP精讲1 然后就找到了下标2,指向b,继续匹配:如图: -KMP精讲2 +KMP精讲2 以下这句话,对于理解为什么使用前缀表可以告诉我们匹配失败之后跳到哪里重新匹配 非常重要! @@ -169,15 +169,15 @@ next数组就是一个前缀表(prefix table)。 如图: -KMP精讲5 +KMP精讲5 长度为前1个字符的子串`a`,最长相同前后缀的长度为0。(注意字符串的**前缀是指不包含最后一个字符的所有以第一个字符开头的连续子串**;**后缀是指不包含第一个字符的所有以最后一个字符结尾的连续子串**。) -KMP精讲6 +KMP精讲6 长度为前2个字符的子串`aa`,最长相同前后缀的长度为1。 -KMP精讲7 +KMP精讲7 长度为前3个字符的子串`aab`,最长相同前后缀的长度为0。 @@ -187,13 +187,13 @@ next数组就是一个前缀表(prefix table)。 长度为前6个字符的子串`aabaaf`,最长相同前后缀的长度为0。 那么把求得的最长相同前后缀的长度就是对应前缀表的元素,如图: -KMP精讲8 +KMP精讲8 可以看出模式串与前缀表对应位置的数字表示的就是:**下标i之前(包括i)的字符串中,有多大长度的相同前缀后缀。** 再来看一下如何利用 前缀表找到 当字符不匹配的时候应该指针应该移动的位置。如动画所示: -![KMP精讲2](https://code-thinking.cdn.bcebos.com/gifs/KMP%E7%B2%BE%E8%AE%B22.gif) +![KMP精讲2](images/0028.实现strStr-08.gif) 找到的不匹配的位置, 那么此时我们要看它的前一个字符的前缀表的数值是多少。 @@ -227,7 +227,7 @@ next数组就可以是前缀表,但是很多实现都是把前缀表统一减 匹配过程动画如下: -![KMP精讲4](https://code-thinking.cdn.bcebos.com/gifs/KMP%E7%B2%BE%E8%AE%B24.gif) +![KMP精讲4](images/0028.实现strStr-09.gif) ### 时间复杂度分析 @@ -334,7 +334,7 @@ void getNext(int* next, const string& s){ 代码构造next数组的逻辑流程动画如下: -![KMP精讲3](https://code-thinking.cdn.bcebos.com/gifs/KMP%E7%B2%BE%E8%AE%B23.gif) +![KMP精讲3](images/0028.实现strStr-10.gif) 得到了next数组之后,就要用这个来做匹配了。 diff --git "a/problems/0031.\344\270\213\344\270\200\344\270\252\346\216\222\345\210\227.md" "b/problems/0031.\344\270\213\344\270\200\344\270\252\346\216\222\345\210\227.md" index 48af8d0da1..311365a226 100644 --- "a/problems/0031.\344\270\213\344\270\200\344\270\252\346\216\222\345\210\227.md" +++ "b/problems/0031.\344\270\213\344\270\200\344\270\252\346\216\222\345\210\227.md" @@ -69,7 +69,7 @@ 以求1243为例,流程如图: - + 对应的C++代码如下: diff --git "a/problems/0035.\346\220\234\347\264\242\346\217\222\345\205\245\344\275\215\347\275\256.md" "b/problems/0035.\346\220\234\347\264\242\346\217\222\345\205\245\344\275\215\347\275\256.md" index b5be9a5f8b..5a4da575b6 100644 --- "a/problems/0035.\346\220\234\347\264\242\346\217\222\345\205\245\344\275\215\347\275\256.md" +++ "b/problems/0035.\346\220\234\347\264\242\346\217\222\345\205\245\344\275\215\347\275\256.md" @@ -43,7 +43,7 @@ 这道题目,要在数组中插入目标值,无非是这四种情况。 -![35_搜索插入位置3](https://code-thinking-1253855093.file.myqcloud.com/pics/20201216232148471.png) +![35_搜索插入位置3](images/0035.搜索插入位置-01.png) * 目标值在数组所有元素之前 * 目标值等于数组中某一个元素 @@ -84,14 +84,14 @@ public: 效率如下: -![35_搜索插入位置](https://code-thinking-1253855093.file.myqcloud.com/pics/20201216232127268.png) +![35_搜索插入位置](images/0035.搜索插入位置-02.png) ### 二分法 既然暴力解法的时间复杂度是O(n),就要尝试一下使用二分查找法。 -![35_搜索插入位置4](https://code-thinking-1253855093.file.myqcloud.com/pics/202012162326354.png) +![35_搜索插入位置4](images/0035.搜索插入位置-03.png) 大家注意这道题目的前提是数组是有序数组,这也是使用二分查找的基础条件。 @@ -101,7 +101,7 @@ public: 大体讲解一下二分法的思路,这里来举一个例子,例如在这个数组中,使用二分法寻找元素为5的位置,并返回其下标。 -![35_搜索插入位置5](https://code-thinking-1253855093.file.myqcloud.com/pics/20201216232659199.png) +![35_搜索插入位置5](images/0035.搜索插入位置-04.png) 二分查找涉及的很多的边界条件,逻辑比较简单,就是写不好。 @@ -152,7 +152,7 @@ public: * 空间复杂度:O(1) 效率如下: -![35_搜索插入位置2](https://code-thinking-1253855093.file.myqcloud.com/pics/2020121623272877.png) +![35_搜索插入位置2](images/0035.搜索插入位置-05.png) ### 二分法第二种写法 diff --git "a/problems/0037.\350\247\243\346\225\260\347\213\254.md" "b/problems/0037.\350\247\243\346\225\260\347\213\254.md" index 5f3f881cf1..4f8db154b8 100644 --- "a/problems/0037.\350\247\243\346\225\260\347\213\254.md" +++ "b/problems/0037.\350\247\243\346\225\260\347\213\254.md" @@ -20,11 +20,11 @@ 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。 空白格用 '.' 表示。 -![解数独](https://code-thinking-1253855093.file.myqcloud.com/pics/202011171912586.png) +![解数独](images/0037.解数独-01.png) 一个数独。 -![解数独](https://code-thinking-1253855093.file.myqcloud.com/pics/20201117191340669.png) +![解数独](images/0037.解数独-02.png) 答案被标成红色。 @@ -54,7 +54,7 @@ 因为这个树形结构太大了,我抽取一部分,如图所示: -![37.解数独](https://code-thinking-1253855093.file.myqcloud.com/pics/2020111720451790-20230310131816104.png) +![37.解数独](images/0037.解数独-03.png) ### 回溯三部曲 @@ -85,7 +85,7 @@ bool backtracking(vector>& board) * 递归单层搜索逻辑 -![37.解数独](https://code-thinking-1253855093.file.myqcloud.com/pics/2020111720451790-20230310131822254.png) +![37.解数独](images/0037.解数独-04.png) 在树形图中可以看出我们需要的是一个二维的递归 (一行一列) diff --git "a/problems/0039.\347\273\204\345\220\210\346\200\273\345\222\214.md" "b/problems/0039.\347\273\204\345\220\210\346\200\273\345\222\214.md" index 92c68562da..032f19f576 100644 --- "a/problems/0039.\347\273\204\345\220\210\346\200\273\345\222\214.md" +++ "b/problems/0039.\347\273\204\345\220\210\346\200\273\345\222\214.md" @@ -52,7 +52,7 @@ candidates 中的数字可以无限制重复被选取。 本题搜索的过程抽象成树形结构如下: -![39.组合总和](https://code-thinking-1253855093.file.myqcloud.com/pics/20201223170730367.png) +![39.组合总和](images/0039.组合总和-01.png) 注意图中叶子节点的返回条件,因为本题没有组合数量要求,仅仅是总和的限制,所以递归没有层数的限制,只要选取的元素总和超过target,就返回! 而在[77.组合](https://programmercarl.com/0077.组合.html)和[216.组合总和III](https://programmercarl.com/0216.组合总和III.html) 中都可以知道要递归K层,因为要取k个元素的组合。 @@ -87,7 +87,7 @@ void backtracking(vector& candidates, int target, int sum, int startIndex) 在如下树形结构中: -![39.组合总和](https://code-thinking-1253855093.file.myqcloud.com/pics/20201223170730367-20230310135337214.png) +![39.组合总和](images/0039.组合总和-02.png) 从叶子节点可以清晰看到,终止只有两种情况,sum大于target和sum等于target。 @@ -160,7 +160,7 @@ public: 在这个树形结构中: -![39.组合总和](https://code-thinking-1253855093.file.myqcloud.com/pics/20201223170730367-20230310135342472.png) +![39.组合总和](images/0039.组合总和-03.png) 以及上面的版本一的代码大家可以看到,对于sum已经大于target的情况,其实是依然进入了下一层递归,只是下一层递归结束判断的时候,会判断sum > target的话就返回。 @@ -173,7 +173,7 @@ public: 如图: -![39.组合总和1](https://code-thinking-1253855093.file.myqcloud.com/pics/20201223170809182.png) +![39.组合总和1](images/0039.组合总和-04.png) for循环剪枝代码如下: diff --git "a/problems/0040.\347\273\204\345\220\210\346\200\273\345\222\214II.md" "b/problems/0040.\347\273\204\345\220\210\346\200\273\345\222\214II.md" index 22cf726d8c..9896876e28 100644 --- "a/problems/0040.\347\273\204\345\220\210\346\200\273\345\222\214II.md" +++ "b/problems/0040.\347\273\204\345\220\210\346\200\273\345\222\214II.md" @@ -80,7 +80,7 @@ candidates 中的每个数字在每个组合中只能使用一次。 选择过程树形结构如图所示: -![40.组合总和II](https://code-thinking-1253855093.file.myqcloud.com/pics/20230310000918.png) +![40.组合总和II](images/0040.组合总和II-01.png) 可以看到图中,每个节点相对于 [39.组合总和](https://mp.weixin.qq.com/s/FLg8G6EjVcxBjwCbzpACPw)我多加了used数组,这个used数组下面会重点介绍。 @@ -130,7 +130,7 @@ if (sum == target) { 这块比较抽象,如图: -![40.组合总和II1](https://code-thinking-1253855093.file.myqcloud.com/pics/20230310000954.png) +![40.组合总和II1](images/0040.组合总和II-02.png) 我在图中将used的变化用橘黄色标注上,可以看出在candidates[i] == candidates[i - 1]相同的情况下: @@ -141,7 +141,7 @@ if (sum == target) { 而 used[i - 1] == true,说明是进入下一层递归,去下一个数,所以是树枝上,如图所示: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20221021163812.png) +![](images/0040.组合总和II-03.png) **这块去重的逻辑很抽象,网上搜的题解基本没有能讲清楚的,如果大家之前思考过这个问题或者刷过这道题目,看到这里一定会感觉通透了很多!** diff --git "a/problems/0042.\346\216\245\351\233\250\346\260\264.md" "b/problems/0042.\346\216\245\351\233\250\346\260\264.md" index 0484f830f6..4d2dbd8840 100644 --- "a/problems/0042.\346\216\245\351\233\250\346\260\264.md" +++ "b/problems/0042.\346\216\245\351\233\250\346\260\264.md" @@ -50,10 +50,10 @@ 首先要明确,要按照行来计算,还是按照列来计算。 按照行来计算如图: -![42.接雨水2](https://code-thinking-1253855093.file.myqcloud.com/pics/20210402091118927.png) +![42.接雨水2](images/0042.接雨水-01.png) 按照列来计算如图: -![42.接雨水1](https://code-thinking-1253855093.file.myqcloud.com/pics/20210402091208445.png) +![42.接雨水1](images/0042.接雨水-02.png) 一些同学在实现的时候,很容易一会按照行来计算一会按照列来计算,这样就会越写越乱。 @@ -65,7 +65,7 @@ 这句话可以有点绕,来举一个理解,例如求列4的雨水高度,如图: -![42.接雨水3](https://code-thinking-1253855093.file.myqcloud.com/pics/20210223092732301.png) +![42.接雨水3](images/0042.接雨水-03.png) 列4 左侧最高的柱子是列3,高度为2(以下用lHeight表示)。 @@ -204,7 +204,7 @@ public: 1. 首先单调栈是按照行方向来计算雨水,如图: -![42.接雨水2](https://code-thinking-1253855093.file.myqcloud.com/pics/20210223092629946.png) +![42.接雨水2](images/0042.接雨水-04.png) 知道这一点,后面的就可以理解了。 @@ -218,7 +218,7 @@ public: 如图: -![42.接雨水4](https://code-thinking-1253855093.file.myqcloud.com/pics/2021022309321229.png) +![42.接雨水4](images/0042.接雨水-05.png) 关于单调栈的顺序给大家一个总结: [739. 每日温度](https://programmercarl.com/0739.每日温度.html) 中求一个元素右边第一个更大元素,单调栈就是递增的,[84.柱状图中最大的矩形](https://programmercarl.com/0084.柱状图中最大的矩形.html)求一个元素右边第一个更小元素,单调栈就是递减的。 @@ -232,7 +232,7 @@ public: 如图所示: -![42.接雨水5](https://code-thinking-1253855093.file.myqcloud.com/pics/20210223094619398.png) +![42.接雨水5](images/0042.接雨水-06.png) 4. 栈里要保存什么数值 @@ -287,7 +287,7 @@ if (height[i] == height[st.top()]) { // 例如 5 5 1 7 这种情况 如果当前遍历的元素(柱子)高度大于栈顶元素的高度,此时就出现凹槽了,如图所示: -![42.接雨水4](https://code-thinking-1253855093.file.myqcloud.com/pics/2021022309321229-20230310123027977.png) +![42.接雨水4](images/0042.接雨水-07.png) 取栈顶元素,将栈顶元素弹出,这个就是凹槽的底部,也就是中间位置,下标记为mid,对应的高度为height[mid](就是图中的高度1)。 diff --git "a/problems/0045.\350\267\263\350\267\203\346\270\270\346\210\217II.md" "b/problems/0045.\350\267\263\350\267\203\346\270\270\346\210\217II.md" index 8919d39367..6e84cc95ea 100644 --- "a/problems/0045.\350\267\263\350\267\203\346\270\270\346\210\217II.md" +++ "b/problems/0045.\350\267\263\350\267\203\346\270\270\346\210\217II.md" @@ -49,7 +49,7 @@ 如图: -![45.跳跃游戏II](https://code-thinking-1253855093.file.myqcloud.com/pics/20201201232309103.png) +![45.跳跃游戏II](images/0045.跳跃游戏II-01.png) **图中覆盖范围的意义在于,只要红色的区域,最多两步一定可以到!(不用管具体怎么跳,反正一定可以跳到)** @@ -101,11 +101,11 @@ public: 因为当移动下标指向 nums.size - 2 时: - 如果移动下标等于当前覆盖最大距离下标, 需要再走一步(即 ans++),因为最后一步一定是可以到的终点。(题目假设总是可以到达数组的最后一个位置),如图: - ![45.跳跃游戏II2](https://code-thinking-1253855093.file.myqcloud.com/pics/20201201232445286.png) + ![45.跳跃游戏II2](images/0045.跳跃游戏II-02.png) - 如果移动下标不等于当前覆盖最大距离下标,说明当前覆盖最远距离就可以直接达到终点了,不需要再走一步。如图: -![45.跳跃游戏II1](https://code-thinking-1253855093.file.myqcloud.com/pics/20201201232338693.png) +![45.跳跃游戏II1](images/0045.跳跃游戏II-03.png) 代码如下: diff --git "a/problems/0046.\345\205\250\346\216\222\345\210\227.md" "b/problems/0046.\345\205\250\346\216\222\345\210\227.md" index ca465efd6f..dad114152e 100644 --- "a/problems/0046.\345\205\250\346\216\222\345\210\227.md" +++ "b/problems/0046.\345\205\250\346\216\222\345\210\227.md" @@ -43,7 +43,7 @@ 我以[1,2,3]为例,抽象成树形结构如下: -![全排列](https://code-thinking-1253855093.file.myqcloud.com/pics/20240803180318.png) +![全排列](images/0046.全排列-01.png) ### 回溯三部曲 @@ -55,7 +55,7 @@ 但排列问题需要一个used数组,标记已经选择的元素,如图橘黄色部分所示: -![全排列](https://code-thinking-1253855093.file.myqcloud.com/pics/20240803180318.png) +![全排列](images/0046.全排列-02.png) 代码如下: @@ -67,7 +67,7 @@ void backtracking (vector& nums, vector& used) * 递归终止条件 -![全排列](https://code-thinking-1253855093.file.myqcloud.com/pics/20240803180318.png) +![全排列](images/0046.全排列-03.png) 可以看出叶子节点,就是收割结果的地方。 diff --git "a/problems/0047.\345\205\250\346\216\222\345\210\227II.md" "b/problems/0047.\345\205\250\346\216\222\345\210\227II.md" index 08e3c616a2..96afc4ea0b 100644 --- "a/problems/0047.\345\205\250\346\216\222\345\210\227II.md" +++ "b/problems/0047.\345\205\250\346\216\222\345\210\227II.md" @@ -50,7 +50,7 @@ 我以示例中的 [1,1,2]为例 (为了方便举例,已经排序)抽象为一棵树,去重过程如图: -![47.全排列II1](https://code-thinking-1253855093.file.myqcloud.com/pics/20201124201331223.png) +![47.全排列II1](images/0047.全排列II-01.png) 图中我们对同一树层,前一位(也就是nums[i-1])如果使用过,那么就进行去重。 @@ -132,11 +132,11 @@ if (i > 0 && nums[i] == nums[i - 1] && used[i - 1] == true) { 树层上去重(used[i - 1] == false),的树形结构如下: -![47.全排列II2](https://code-thinking-1253855093.file.myqcloud.com/pics/20201124201406192.png) +![47.全排列II2](images/0047.全排列II-02.png) 树枝上去重(used[i - 1] == true)的树型结构如下: -![47.全排列II3](https://code-thinking-1253855093.file.myqcloud.com/pics/20201124201431571.png) +![47.全排列II3](images/0047.全排列II-03.png) 大家应该很清晰的看到,树层上对前一位去重非常彻底,效率很高,树枝上对前一位去重虽然最后可以得到答案,但是做了很多无用搜索。 diff --git "a/problems/0051.N\347\232\207\345\220\216.md" "b/problems/0051.N\347\232\207\345\220\216.md" index 38fc07e790..16e3fe1608 100644 --- "a/problems/0051.N\347\232\207\345\220\216.md" +++ "b/problems/0051.N\347\232\207\345\220\216.md" @@ -17,7 +17,7 @@ n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上, 示例 1: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20211020232201.png) +![](images/0051.N皇后-01.png) * 输入:n = 4 * 输出:[[".Q..","...Q","Q...","..Q."],["..Q.","Q...","...Q",".Q.."]] @@ -47,7 +47,7 @@ n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上, 下面我用一个 3 * 3 的棋盘,将搜索过程抽象为一棵树,如图: -![51.N皇后](https://code-thinking-1253855093.file.myqcloud.com/pics/20210130182532303.jpg) +![51.N皇后](images/0051.N皇后-02.jpg) 从图中,可以看出,二维矩阵中矩阵的高就是这棵树的高度,矩阵的宽就是树形结构中每一个节点的宽度。 @@ -87,7 +87,7 @@ void backtracking(int n, int row, vector& chessboard) { * 递归终止条件 在如下树形结构中: -![51.N皇后](https://code-thinking-1253855093.file.myqcloud.com/pics/20210130182532303-20230310122134167.jpg) +![51.N皇后](images/0051.N皇后-03.jpg) 可以看出,当递归到棋盘最底层(也就是叶子节点)的时候,就可以收集结果并返回了。 diff --git "a/problems/0052.N\347\232\207\345\220\216II.md" "b/problems/0052.N\347\232\207\345\220\216II.md" index 271484a4ee..084a06a09b 100644 --- "a/problems/0052.N\347\232\207\345\220\216II.md" +++ "b/problems/0052.N\347\232\207\345\220\216II.md" @@ -15,7 +15,7 @@ n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并 上图为 8 皇后问题的一种解法。 -![51n皇后](https://code-thinking-1253855093.file.myqcloud.com/pics/20200821152118456.png) +![51n皇后](images/0052.N皇后II-01.png) 给定一个整数 n,返回 n 皇后不同的解决方案的数量。 diff --git "a/problems/0053.\346\234\200\345\244\247\345\255\220\345\272\217\345\222\214.md" "b/problems/0053.\346\234\200\345\244\247\345\255\220\345\272\217\345\222\214.md" index 705a00d7a8..4f01050bfe 100644 --- "a/problems/0053.\346\234\200\345\244\247\345\255\220\345\272\217\345\222\214.md" +++ "b/problems/0053.\346\234\200\345\244\247\345\255\220\345\272\217\345\222\214.md" @@ -78,7 +78,7 @@ if (count > result) result = count; 如动画所示: -![53.最大子序和](https://code-thinking.cdn.bcebos.com/gifs/53.%E6%9C%80%E5%A4%A7%E5%AD%90%E5%BA%8F%E5%92%8C.gif) +![53.最大子序和](images/0053.最大子序和-01.gif) 红色的起始位置就是贪心每次取 count 为正数的时候,开始一个区间的统计。 diff --git "a/problems/0053.\346\234\200\345\244\247\345\255\220\345\272\217\345\222\214\357\274\210\345\212\250\346\200\201\350\247\204\345\210\222\357\274\211.md" "b/problems/0053.\346\234\200\345\244\247\345\255\220\345\272\217\345\222\214\357\274\210\345\212\250\346\200\201\350\247\204\345\210\222\357\274\211.md" index 38a3a11818..c6ee950047 100644 --- "a/problems/0053.\346\234\200\345\244\247\345\255\220\345\272\217\345\222\214\357\274\210\345\212\250\346\200\201\350\247\204\345\210\222\357\274\211.md" +++ "b/problems/0053.\346\234\200\345\244\247\345\255\220\345\272\217\345\222\214\357\274\210\345\212\250\346\200\201\350\247\204\345\210\222\357\274\211.md" @@ -56,7 +56,7 @@ dp[0]应该是多少呢? 5. 举例推导dp数组 以示例一为例,输入:nums = [-2,1,-3,4,-1,2,1,-5,4],对应的dp状态如下: -![53.最大子序和(动态规划)](https://code-thinking-1253855093.file.myqcloud.com/pics/20210303104129101.png) +![53.最大子序和(动态规划)](images/0053.最大子序和(动态规划)-01.png) **注意最后的结果可不是dp[nums.size() - 1]!** ,而是dp[6]。 diff --git "a/problems/0054.\350\236\272\346\227\213\347\237\251\351\230\265.md" "b/problems/0054.\350\236\272\346\227\213\347\237\251\351\230\265.md" index 3b7afb9099..c11badab7b 100644 --- "a/problems/0054.\350\236\272\346\227\213\347\237\251\351\230\265.md" +++ "b/problems/0054.\350\236\272\346\227\213\347\237\251\351\230\265.md" @@ -38,7 +38,7 @@ 由外向内一圈一圈这么画下去,如下所示: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20220922102236.png) +![](images/0054.螺旋矩阵-01.png) 这里每一种颜色,代表一条边,我们遍历的长度,可以看出每一个拐角处的处理规则,拐角处让给新的一条边来继续画。 diff --git "a/problems/0055.\350\267\263\350\267\203\346\270\270\346\210\217.md" "b/problems/0055.\350\267\263\350\267\203\346\270\270\346\210\217.md" index 896dc998d1..4f50ff6e87 100644 --- "a/problems/0055.\350\267\263\350\267\203\346\270\270\346\210\217.md" +++ "b/problems/0055.\350\267\263\350\267\203\346\270\270\346\210\217.md" @@ -50,7 +50,7 @@ 如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20230203105634.png) +![](images/0055.跳跃游戏-01.png) i 每次移动只能在 cover 的范围内移动,每移动一个元素,cover 得到该元素数值(新的覆盖范围)的补充,让 i 继续移动下去。 diff --git "a/problems/0056.\345\220\210\345\271\266\345\214\272\351\227\264.md" "b/problems/0056.\345\220\210\345\271\266\345\214\272\351\227\264.md" index 538be69336..66b437ce51 100644 --- "a/problems/0056.\345\220\210\345\271\266\345\214\272\351\227\264.md" +++ "b/problems/0056.\345\220\210\345\271\266\345\214\272\351\227\264.md" @@ -40,7 +40,7 @@ 这么说有点抽象,看图:(**注意图中区间都是按照左边界排序之后了**) -![56.合并区间](https://code-thinking-1253855093.file.myqcloud.com/pics/20201223200632791.png) +![56.合并区间](images/0056.合并区间-01.png) 知道如何判断重复之后,剩下的就是合并了,如何去模拟合并区间呢? diff --git "a/problems/0059.\350\236\272\346\227\213\347\237\251\351\230\265II.md" "b/problems/0059.\350\236\272\346\227\213\347\237\251\351\230\265II.md" index 94966126b9..00825647c6 100644 --- "a/problems/0059.\350\236\272\346\227\213\347\237\251\351\230\265II.md" +++ "b/problems/0059.\350\236\272\346\227\213\347\237\251\351\230\265II.md" @@ -56,7 +56,7 @@ 那么我按照左闭右开的原则,来画一圈,大家看一下: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20220922102236.png) +![](images/0059.螺旋矩阵II-01.png) 这里每一种颜色,代表一条边,我们遍历的长度,可以看出每一个拐角处的处理规则,拐角处让给新的一条边来继续画。 diff --git "a/problems/0062.\344\270\215\345\220\214\350\267\257\345\276\204.md" "b/problems/0062.\344\270\215\345\220\214\350\267\257\345\276\204.md" index 7025135ade..96c1dcaa7c 100644 --- "a/problems/0062.\344\270\215\345\220\214\350\267\257\345\276\204.md" +++ "b/problems/0062.\344\270\215\345\220\214\350\267\257\345\276\204.md" @@ -18,7 +18,7 @@ 示例 1: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20210110174033215.png) +![](images/0062.不同路径-01.png) * 输入:m = 3, n = 7 * 输出:28 @@ -64,7 +64,7 @@ 如图举例: -![62.不同路径](https://code-thinking-1253855093.file.myqcloud.com/pics/20201209113602700.png) +![62.不同路径](images/0062.不同路径-02.png) 此时问题就可以转化为求二叉树叶子节点的个数,代码如下: @@ -133,7 +133,7 @@ for (int j = 0; j < n; j++) dp[0][j] = 1; 如图所示: -![62.不同路径1](https://code-thinking-1253855093.file.myqcloud.com/pics/20201209113631392.png) +![62.不同路径1](images/0062.不同路径-03.png) 以上动规五部曲分析完毕,C++代码如下: @@ -182,7 +182,7 @@ public: 在这个图中,可以看出一共m,n的话,无论怎么走,走到终点都需要 m + n - 2 步。 -![62.不同路径](https://code-thinking-1253855093.file.myqcloud.com/pics/20201209113602700-20230310120944078.png) +![62.不同路径](images/0062.不同路径-04.png) 在这m + n - 2 步中,一定有 m - 1 步是要向下走的,不用管什么时候向下走。 @@ -192,7 +192,7 @@ public: 那么答案,如图所示: -![62.不同路径2](https://code-thinking-1253855093.file.myqcloud.com/pics/20201209113725324.png) +![62.不同路径2](images/0062.不同路径-05.png) **求组合的时候,要防止两个int相乘溢出!** 所以不能把算式的分子都算出来,分母都算出来再做除法。 diff --git "a/problems/0063.\344\270\215\345\220\214\350\267\257\345\276\204II.md" "b/problems/0063.\344\270\215\345\220\214\350\267\257\345\276\204II.md" index 13923abeca..519c80b4f4 100644 --- "a/problems/0063.\344\270\215\345\220\214\350\267\257\345\276\204II.md" +++ "b/problems/0063.\344\270\215\345\220\214\350\267\257\345\276\204II.md" @@ -16,13 +16,13 @@ 现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径? -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20210111204901338.png) +![](images/0063.不同路径II-01.png) 网格中的障碍物和空位置分别用 1 和 0 来表示。 示例 1: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20210111204939971.png) +![](images/0063.不同路径II-02.png) * 输入:obstacleGrid = [[0,0,0],[0,1,0],[0,0,0]] * 输出:2 @@ -34,7 +34,7 @@ 示例 2: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20210111205857918.png) +![](images/0063.不同路径II-03.png) * 输入:obstacleGrid = [[0,1],[0,0]] * 输出:1 @@ -95,7 +95,7 @@ for (int j = 0; j < n; j++) dp[0][j] = 1; 如图: -![63.不同路径II](https://code-thinking-1253855093.file.myqcloud.com/pics/20210104114513928.png) +![63.不同路径II](images/0063.不同路径II-04.png) 下标(0, j)的初始化情况同理。 @@ -129,11 +129,11 @@ for (int i = 1; i < m; i++) { 拿示例1来举例如题: -![63.不同路径II1](https://code-thinking-1253855093.file.myqcloud.com/pics/20210104114548983.png) +![63.不同路径II1](images/0063.不同路径II-05.png) 对应的dp table 如图: -![63.不同路径II2](https://code-thinking-1253855093.file.myqcloud.com/pics/20210104114610256.png) +![63.不同路径II2](images/0063.不同路径II-06.png) 如果这个图看不懂,建议再理解一下递归公式,然后照着文章中说的遍历顺序,自己推导一下! diff --git "a/problems/0070.\347\210\254\346\245\274\346\242\257.md" "b/problems/0070.\347\210\254\346\245\274\346\242\257.md" index 6a13a21cdb..b7e5073d27 100644 --- "a/problems/0070.\347\210\254\346\245\274\346\242\257.md" +++ "b/problems/0070.\347\210\254\346\245\274\346\242\257.md" @@ -103,7 +103,7 @@ dp[i]: 爬到第i层楼梯,有dp[i]种方法 举例当n为5的时候,dp table(dp数组)应该是这样的 -![70.爬楼梯](https://code-thinking-1253855093.file.myqcloud.com/pics/20210105202546299.png) +![70.爬楼梯](images/0070.爬楼梯-01.png) 如果代码出问题了,就把dp table 打印出来,看看究竟是不是和自己推导的一样。 diff --git "a/problems/0072.\347\274\226\350\276\221\350\267\235\347\246\273.md" "b/problems/0072.\347\274\226\350\276\221\350\267\235\347\246\273.md" index 0da3bf5093..67ec2bee17 100644 --- "a/problems/0072.\347\274\226\350\276\221\350\267\235\347\246\273.md" +++ "b/problems/0072.\347\274\226\350\276\221\350\267\235\347\246\273.md" @@ -172,7 +172,7 @@ for (int j = 0; j <= word2.size(); j++) dp[0][j] = j; 可以看出dp[i][j]是依赖左方,上方和左上方元素的,如图: -![72.编辑距离](https://code-thinking-1253855093.file.myqcloud.com/pics/20210114162113131.jpg) +![72.编辑距离](images/0072.编辑距离-01.jpg) 所以在dp矩阵中一定是从左到右从上到下去遍历。 @@ -196,7 +196,7 @@ for (int i = 1; i <= word1.size(); i++) { 以示例1为例,输入:`word1 = "horse", word2 = "ros"`为例,dp矩阵状态图如下: -![72.编辑距离1](https://code-thinking-1253855093.file.myqcloud.com/pics/20210114162132300.jpg) +![72.编辑距离1](images/0072.编辑距离-02.jpg) 以上动规五部分析完毕,C++代码如下: diff --git "a/problems/0077.\347\273\204\345\220\210.md" "b/problems/0077.\347\273\204\345\220\210.md" index c4be5a3804..62bf49deab 100644 --- "a/problems/0077.\347\273\204\345\220\210.md" +++ "b/problems/0077.\347\273\204\345\220\210.md" @@ -84,7 +84,7 @@ for (int i = 1; i <= n; i++) { 那么我把组合问题抽象为如下树形结构: -![77.组合](https://code-thinking-1253855093.file.myqcloud.com/pics/20201123195223940.png) +![77.组合](images/0077.组合-01.png) 可以看出这棵树,一开始集合是 1,2,3,4, 从左向右取数,取过的数,不再重复取。 @@ -128,7 +128,7 @@ vector path; // 用来存放符合条件结果 从下图中红线部分可以看出,在集合[1,2,3,4]取1之后,下一层递归,就要在[2,3,4]中取数了,那么下一层递归如何知道从[2,3,4]中取数呢,靠的就是startIndex。 -![77.组合2](https://code-thinking-1253855093.file.myqcloud.com/pics/20201123195328976.png) +![77.组合2](images/0077.组合-02.png) 所以需要startIndex来记录下一层递归,搜索的起始位置。 @@ -148,7 +148,7 @@ path这个数组的大小如果达到k,说明我们找到了一个子集大小 如图红色部分: -![77.组合3](https://code-thinking-1253855093.file.myqcloud.com/pics/20201123195407907.png) +![77.组合3](images/0077.组合-03.png) 此时用result二维数组,把path保存起来,并终止本层递归。 @@ -165,7 +165,7 @@ if (path.size() == k) { 回溯法的搜索过程就是一个树型结构的遍历过程,在如下图中,可以看出for循环用来横向遍历,递归的过程是纵向遍历。 -![77.组合1](https://code-thinking-1253855093.file.myqcloud.com/pics/20201123195242899.png) +![77.组合1](images/0077.组合-04.png) 如此我们才遍历完图中的这棵树。 @@ -269,7 +269,7 @@ for (int i = startIndex; i <= n; i++) { 这么说有点抽象,如图所示: -![77.组合4](https://code-thinking-1253855093.file.myqcloud.com/pics/20210130194335207-20230310134409532.png) +![77.组合4](images/0077.组合-05.png) 图中每一个节点(图中为矩形),就代表本层的一个for循环,那么每一层的for循环从第二个数开始遍历的话,都没有意义,都是无效遍历。 diff --git "a/problems/0077.\347\273\204\345\220\210\344\274\230\345\214\226.md" "b/problems/0077.\347\273\204\345\220\210\344\274\230\345\214\226.md" index 0fa568afe9..3067c7f43f 100644 --- "a/problems/0077.\347\273\204\345\220\210\344\274\230\345\214\226.md" +++ "b/problems/0077.\347\273\204\345\220\210\344\274\230\345\214\226.md" @@ -69,7 +69,7 @@ for (int i = startIndex; i <= n; i++) { 这么说有点抽象,如图所示: -![77.组合4](https://code-thinking-1253855093.file.myqcloud.com/pics/20210130194335207.png) +![77.组合4](images/0077.组合优化-01.png) 图中每一个节点(图中为矩形),就代表本层的一个for循环,那么每一层的for循环从第二个数开始遍历的话,都没有意义,都是无效遍历。 diff --git "a/problems/0078.\345\255\220\351\233\206.md" "b/problems/0078.\345\255\220\351\233\206.md" index 0c368b41ed..643f6220ff 100644 --- "a/problems/0078.\345\255\220\351\233\206.md" +++ "b/problems/0078.\345\255\220\351\233\206.md" @@ -48,7 +48,7 @@ 以示例中nums = [1,2,3]为例把求子集抽象为树型结构,如下: -![78.子集](https://code-thinking.cdn.bcebos.com/pics/78.%E5%AD%90%E9%9B%86.png) +![78.子集](images/0078.子集-01.png) 从图中红线部分,可以看出**遍历这个树的时候,把所有节点都记录下来,就是要求的子集集合**。 @@ -72,7 +72,7 @@ void backtracking(vector& nums, int startIndex) { 从图中可以看出: -![78.子集](https://code-thinking.cdn.bcebos.com/pics/78.%E5%AD%90%E9%9B%86.png) +![78.子集](images/0078.子集-02.png) 剩余集合为空的时候,就是叶子节点。 diff --git "a/problems/0084.\346\237\261\347\212\266\345\233\276\344\270\255\346\234\200\345\244\247\347\232\204\347\237\251\345\275\242.md" "b/problems/0084.\346\237\261\347\212\266\345\233\276\344\270\255\346\234\200\345\244\247\347\232\204\347\237\251\345\275\242.md" index 5c6f407321..752cfbc0be 100644 --- "a/problems/0084.\346\237\261\347\212\266\345\233\276\344\270\255\346\234\200\345\244\247\347\232\204\347\237\251\345\275\242.md" +++ "b/problems/0084.\346\237\261\347\212\266\345\233\276\344\270\255\346\234\200\345\244\247\347\232\204\347\237\251\345\275\242.md" @@ -13,9 +13,9 @@ 求在该柱状图中,能够勾勒出来的矩形的最大面积。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20210803220437.png) +![](images/0084.柱状图中最大的矩形-01.png) -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20210803220506.png) +![](images/0084.柱状图中最大的矩形-02.png) * 1 <= heights.length <=10^5 * 0 <= heights[i] <= 10^4 @@ -116,7 +116,7 @@ public: 我来举一个例子,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20230221165730.png) +![](images/0084.柱状图中最大的矩形-03.png) 只有栈里从大到小的顺序,才能保证栈顶元素找到左右两边第一个小于栈顶元素的柱子。 @@ -181,7 +181,7 @@ public: 如果数组本身就是升序的,例如[2,4,6,8],那么入栈之后 都是单调递减,一直都没有走 情况三 计算结果的哪一步,所以最后输出的就是0了。 如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20230221163936.png) +![](images/0084.柱状图中最大的矩形-04.png) 那么结尾加一个0,就会让栈里的所有元素,走到情况三的逻辑。 @@ -196,7 +196,7 @@ public: 之后又将6 加入栈(此时8已经弹出了),然后 就是 4 与 栈口元素 6 进行比较,周而复始,那么计算的最后结果result就是0。 如图所示: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20230221164533.png) +![](images/0084.柱状图中最大的矩形-05.png) 所以我们需要在 height数组前后各加一个元素0。 diff --git "a/problems/0090.\345\255\220\351\233\206II.md" "b/problems/0090.\345\255\220\351\233\206II.md" index 811d3cc005..97eea5a348 100644 --- "a/problems/0090.\345\255\220\351\233\206II.md" +++ "b/problems/0090.\345\255\220\351\233\206II.md" @@ -41,7 +41,7 @@ 用示例中的[1, 2, 2] 来举例,如图所示: (**注意去重需要先对集合排序**) -![90.子集II](https://code-thinking-1253855093.file.myqcloud.com/pics/20201124195411977.png) +![90.子集II](images/0090.子集II-01.png) 从图中可以看出,同一树层上重复取2 就要过滤掉,同一树枝上就可以重复取2,因为同一树枝上元素的集合才是唯一子集! diff --git "a/problems/0093.\345\244\215\345\216\237IP\345\234\260\345\235\200.md" "b/problems/0093.\345\244\215\345\216\237IP\345\234\260\345\235\200.md" index a03a0e3b15..3de395c788 100644 --- "a/problems/0093.\345\244\215\345\216\237IP\345\234\260\345\235\200.md" +++ "b/problems/0093.\345\244\215\345\216\237IP\345\234\260\345\235\200.md" @@ -56,7 +56,7 @@ 切割问题可以抽象为树型结构,如图: -![93.复原IP地址](https://code-thinking-1253855093.file.myqcloud.com/pics/20201123203735933.png) +![93.复原IP地址](images/0093.复原IP地址-01.png) ### 回溯三部曲 @@ -108,7 +108,7 @@ if (pointNum == 3) { // 逗点数量为3时,分隔结束 如果不合法就结束本层循环,如图中剪掉的分支: -![93.复原IP地址](https://code-thinking-1253855093.file.myqcloud.com/pics/20201123203735933-20230310132314109.png) +![93.复原IP地址](images/0093.复原IP地址-02.png) 然后就是递归和回溯的过程: diff --git "a/problems/0096.\344\270\215\345\220\214\347\232\204\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221.md" "b/problems/0096.\344\270\215\345\220\214\347\232\204\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221.md" index 25d79aff74..381693cb9c 100644 --- "a/problems/0096.\344\270\215\345\220\214\347\232\204\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221.md" +++ "b/problems/0096.\344\270\215\345\220\214\347\232\204\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221.md" @@ -14,7 +14,7 @@ 示例: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20210113161941835.png) +![](images/0096.不同的二叉搜索树-01.png) ## 算法公开课 @@ -29,11 +29,11 @@ 了解了二叉搜索树之后,我们应该先举几个例子,画画图,看看有没有什么规律,如图: -![96.不同的二叉搜索树](https://code-thinking-1253855093.file.myqcloud.com/pics/20210107093106367.png) +![96.不同的二叉搜索树](images/0096.不同的二叉搜索树-02.png) n为1的时候有一棵树,n为2有两棵树,这个是很直观的。 -![96.不同的二叉搜索树1](https://code-thinking-1253855093.file.myqcloud.com/pics/20210107093129889.png) +![96.不同的二叉搜索树1](images/0096.不同的二叉搜索树-03.png) 来看看n为3的时候,有哪几种情况。 @@ -67,7 +67,7 @@ dp[3],就是 元素1为头结点搜索树的数量 + 元素2为头结点搜索 如图所示: -![96.不同的二叉搜索树2](https://code-thinking-1253855093.file.myqcloud.com/pics/20210107093226241.png) +![96.不同的二叉搜索树2](images/0096.不同的二叉搜索树-04.png) 此时我们已经找到递推关系了,那么可以用动规五部曲再系统分析一遍。 @@ -120,7 +120,7 @@ for (int i = 1; i <= n; i++) { n为5时候的dp数组状态如图: -![96.不同的二叉搜索树3](https://code-thinking-1253855093.file.myqcloud.com/pics/20210107093253987.png) +![96.不同的二叉搜索树3](images/0096.不同的二叉搜索树-05.png) 当然如果自己画图举例的话,基本举例到n为3就可以了,n为4的时候,画图已经比较麻烦了。 diff --git "a/problems/0098.\351\252\214\350\257\201\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221.md" "b/problems/0098.\351\252\214\350\257\201\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221.md" index fb4ca7d88d..d860b09157 100644 --- "a/problems/0098.\351\252\214\350\257\201\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221.md" +++ "b/problems/0098.\351\252\214\350\257\201\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221.md" @@ -18,7 +18,7 @@ * 节点的右子树只包含大于当前节点的数。 * 所有左子树和右子树自身必须也是二叉搜索树。 -![98.验证二叉搜索树](https://code-thinking-1253855093.file.myqcloud.com/pics/20230310000750.png) +![98.验证二叉搜索树](images/0098.验证二叉搜索树-01.png) ## 算法公开课 @@ -104,7 +104,7 @@ if (root->val > root->left->val && root->val < root->right->val) { 例如: [10,5,15,null,null,6,20] 这个case: -![二叉搜索树](https://code-thinking-1253855093.file.myqcloud.com/pics/20230310000824.png) +![二叉搜索树](images/0098.验证二叉搜索树-02.png) 节点10大于左节点5,小于右节点15,但右子树里出现了一个6 这就不符合了! diff --git "a/problems/0100.\347\233\270\345\220\214\347\232\204\346\240\221.md" "b/problems/0100.\347\233\270\345\220\214\347\232\204\346\240\221.md" index 7268b9f083..d9c783973a 100644 --- "a/problems/0100.\347\233\270\345\220\214\347\232\204\346\240\221.md" +++ "b/problems/0100.\347\233\270\345\220\214\347\232\204\346\240\221.md" @@ -14,9 +14,9 @@ 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20210726172932.png) +![](images/0100.相同的树-01.png) -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20210726173011.png) +![](images/0100.相同的树-02.png) ## 思路 diff --git "a/problems/0101.\345\257\271\347\247\260\344\272\214\345\217\211\346\240\221.md" "b/problems/0101.\345\257\271\347\247\260\344\272\214\345\217\211\346\240\221.md" index 31c24fc5aa..8fd6122675 100644 --- "a/problems/0101.\345\257\271\347\247\260\344\272\214\345\217\211\346\240\221.md" +++ "b/problems/0101.\345\257\271\347\247\260\344\272\214\345\217\211\346\240\221.md" @@ -11,7 +11,7 @@ 给定一个二叉树,检查它是否是镜像对称的。 -![101. 对称二叉树](https://code-thinking-1253855093.file.myqcloud.com/pics/20210203144607387.png) +![101. 对称二叉树](images/0101.对称二叉树-01.png) ## 算法公开课 @@ -27,7 +27,7 @@ 比较的是两个子树的里侧和外侧的元素是否相等。如图所示: -![101. 对称二叉树1](https://code-thinking-1253855093.file.myqcloud.com/pics/20210203144624414.png) +![101. 对称二叉树1](images/0101.对称二叉树-02.png) 那么遍历的顺序应该是什么样的呢? @@ -171,7 +171,7 @@ public: 通过队列来判断根节点的左子树和右子树的内侧和外侧是否相等,如动画所示: -![101.对称二叉树](https://code-thinking.cdn.bcebos.com/gifs/101.%E5%AF%B9%E7%A7%B0%E4%BA%8C%E5%8F%89%E6%A0%91.gif) +![101.对称二叉树](images/0101.对称二叉树-03.gif) diff --git "a/problems/0102.\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\345\272\217\351\201\215\345\216\206.md" "b/problems/0102.\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\345\272\217\351\201\215\345\216\206.md" index ce53e49af9..cd68c59937 100644 --- "a/problems/0102.\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\345\272\217\351\201\215\345\216\206.md" +++ "b/problems/0102.\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\345\272\217\351\201\215\345\216\206.md" @@ -28,7 +28,7 @@ -![我要打十个](https://code-thinking.cdn.bcebos.com/gifs/%E6%88%91%E8%A6%81%E6%89%93%E5%8D%81%E4%B8%AA.gif) +![我要打十个](images/0102.二叉树的层序遍历-01.gif) @@ -39,7 +39,7 @@ 给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。 -![102.二叉树的层序遍历](https://code-thinking-1253855093.file.myqcloud.com/pics/20210203144842988.png) +![102.二叉树的层序遍历](images/0102.二叉树的层序遍历-02.png) ### 思路 @@ -59,7 +59,7 @@ 使用队列实现二叉树广度优先遍历,动画如下: -![102二叉树的层序遍历](https://code-thinking.cdn.bcebos.com/gifs/102%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E5%B1%82%E5%BA%8F%E9%81%8D%E5%8E%86.gif) +![102二叉树的层序遍历](images/0102.二叉树的层序遍历-03.gif) 这样就实现了层序从左到右遍历二叉树。 @@ -534,7 +534,7 @@ public IList> LevelOrder(TreeNode root) 给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) -![107.二叉树的层次遍历II](https://code-thinking-1253855093.file.myqcloud.com/pics/20210203151058308.png) +![107.二叉树的层次遍历II](images/0102.二叉树的层序遍历-04.png) ### 思路 @@ -928,7 +928,7 @@ public IList> LevelOrderBottom(TreeNode root) 给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 -![199.二叉树的右视图](https://code-thinking-1253855093.file.myqcloud.com/pics/20210203151307377.png) +![199.二叉树的右视图](images/0102.二叉树的层序遍历-05.png) ### 思路 @@ -1278,7 +1278,7 @@ public class Solution 给定一个非空二叉树, 返回一个由每层节点平均值组成的数组。 -![637.二叉树的层平均值](https://code-thinking-1253855093.file.myqcloud.com/pics/20210203151350500.png) +![637.二叉树的层平均值](images/0102.二叉树的层序遍历-06.png) ### 思路 @@ -1636,7 +1636,7 @@ public class Solution { 例如,给定一个 3叉树 : -![429. N叉树的层序遍历](https://code-thinking-1253855093.file.myqcloud.com/pics/20210203151439168.png) +![429. N叉树的层序遍历](images/0102.二叉树的层序遍历-07.png) 返回其层序遍历: @@ -2008,7 +2008,7 @@ impl Solution { 您需要在二叉树的每一行中找到最大的值。 -![515.在每个树行中找最大值](https://code-thinking-1253855093.file.myqcloud.com/pics/20210203151532153.png) +![515.在每个树行中找最大值](images/0102.二叉树的层序遍历-08.png) ### 思路 @@ -2339,7 +2339,7 @@ struct Node { 初始状态下,所有 next 指针都被设置为 NULL。 -![116.填充每个节点的下一个右侧节点指针](https://code-thinking-1253855093.file.myqcloud.com/pics/20210203152044855.jpg) +![116.填充每个节点的下一个右侧节点指针](images/0102.二叉树的层序遍历-09.jpg) ### 思路 @@ -2973,7 +2973,7 @@ object Solution { 给定二叉树 [3,9,20,null,null,15,7], -![104. 二叉树的最大深度](https://code-thinking-1253855093.file.myqcloud.com/pics/20210203153031914-20230310134849764.png) +![104. 二叉树的最大深度](images/0102.二叉树的层序遍历-10.png) 返回它的最大深度 3 。 @@ -2983,7 +2983,7 @@ object Solution { 在二叉树中,一层一层的来遍历二叉树,记录一下遍历的层数就是二叉树的深度,如图所示: -![层序遍历](https://code-thinking-1253855093.file.myqcloud.com/pics/20200810193056585-20230310134854803.png) +![层序遍历](images/0102.二叉树的层序遍历-11.png) 所以这道题的迭代法就是一道模板题,可以使用二叉树层序遍历的模板来解决的。 diff --git "a/problems/0104.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\345\244\247\346\267\261\345\272\246.md" "b/problems/0104.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\345\244\247\346\267\261\345\272\246.md" index fdc9009603..eedc78d452 100644 --- "a/problems/0104.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\345\244\247\346\267\261\345\272\246.md" +++ "b/problems/0104.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\345\244\247\346\267\261\345\272\246.md" @@ -20,7 +20,7 @@ 给定二叉树 [3,9,20,null,null,15,7], -![104. 二叉树的最大深度](https://code-thinking-1253855093.file.myqcloud.com/pics/20210203153031914-20230310121809902.png) +![104. 二叉树的最大深度](images/0104.二叉树的最大深度-01.png) 返回它的最大深度 3 。 @@ -174,7 +174,7 @@ public: 在二叉树中,一层一层的来遍历二叉树,记录一下遍历的层数就是二叉树的深度,如图所示: -![层序遍历](https://code-thinking-1253855093.file.myqcloud.com/pics/20200810193056585.png) +![层序遍历](images/0104.二叉树的最大深度-02.png) 所以这道题的迭代法就是一道模板题,可以使用二叉树层序遍历的模板来解决的。 @@ -219,7 +219,7 @@ public: 例如,给定一个 3叉树 : -![559.n叉树的最大深度](https://code-thinking-1253855093.file.myqcloud.com/pics/2021020315313214.png) +![559.n叉树的最大深度](images/0104.二叉树的最大深度-03.png) 我们应返回其最大深度,3。 diff --git "a/problems/0106.\344\273\216\344\270\255\345\272\217\344\270\216\345\220\216\345\272\217\351\201\215\345\216\206\345\272\217\345\210\227\346\236\204\351\200\240\344\272\214\345\217\211\346\240\221.md" "b/problems/0106.\344\273\216\344\270\255\345\272\217\344\270\216\345\220\216\345\272\217\351\201\215\345\216\206\345\272\217\345\210\227\346\236\204\351\200\240\344\272\214\345\217\211\346\240\221.md" index bde61a7551..61fea23dc9 100644 --- "a/problems/0106.\344\273\216\344\270\255\345\272\217\344\270\216\345\220\216\345\272\217\351\201\215\345\216\206\345\272\217\345\210\227\346\236\204\351\200\240\344\272\214\345\217\211\346\240\221.md" +++ "b/problems/0106.\344\273\216\344\270\255\345\272\217\344\270\216\345\220\216\345\272\217\351\201\215\345\216\206\345\272\217\345\210\227\346\236\204\351\200\240\344\272\214\345\217\211\346\240\221.md" @@ -27,7 +27,7 @@ * 后序遍历 postorder = [9,15,7,20,3] 返回如下的二叉树: -![106. 从中序与后序遍历序列构造二叉树1](https://code-thinking-1253855093.file.myqcloud.com/pics/20210203154316774.png) +![106. 从中序与后序遍历序列构造二叉树1](images/0106.从中序与后序遍历序列构造二叉树-01.png) ## 算法公开课 @@ -42,7 +42,7 @@ 流程如图: -![106.从中序与后序遍历序列构造二叉树](https://code-thinking-1253855093.file.myqcloud.com/pics/20210203154249860.png) +![106.从中序与后序遍历序列构造二叉树](images/0106.从中序与后序遍历序列构造二叉树-02.png) 那么代码应该怎么写呢? @@ -413,7 +413,7 @@ public: 中序遍历 inorder = [9,3,15,20,7] 返回如下的二叉树: -![105. 从前序与中序遍历序列构造二叉树](https://code-thinking-1253855093.file.myqcloud.com/pics/20210203154626672.png) +![105. 从前序与中序遍历序列构造二叉树](images/0106.从中序与后序遍历序列构造二叉树-03.png) ### 思路 @@ -556,7 +556,7 @@ public: 举一个例子: -![106.从中序与后序遍历序列构造二叉树2](https://code-thinking-1253855093.file.myqcloud.com/pics/20210203154720326.png) +![106.从中序与后序遍历序列构造二叉树2](images/0106.从中序与后序遍历序列构造二叉树-04.png) tree1 的前序遍历是[1 2 3], 后序遍历是[3 2 1]。 diff --git "a/problems/0108.\345\260\206\346\234\211\345\272\217\346\225\260\347\273\204\350\275\254\346\215\242\344\270\272\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221.md" "b/problems/0108.\345\260\206\346\234\211\345\272\217\346\225\260\347\273\204\350\275\254\346\215\242\344\270\272\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221.md" index 4804ccd3b3..92a5c0cf7d 100644 --- "a/problems/0108.\345\260\206\346\234\211\345\272\217\346\225\260\347\273\204\350\275\254\346\215\242\344\270\272\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221.md" +++ "b/problems/0108.\345\260\206\346\234\211\345\272\217\346\225\260\347\273\204\350\275\254\346\215\242\344\270\272\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221.md" @@ -18,7 +18,7 @@ 示例: -![108.将有序数组转换为二叉搜索树](https://code-thinking-1253855093.file.myqcloud.com/pics/20201022164420763.png) +![108.将有序数组转换为二叉搜索树](images/0108.将有序数组转换为二叉搜索树-01.png) ## 算法公开课 @@ -42,7 +42,7 @@ 例如 有序数组[-10,-3,0,5,9] 就可以构造成这样的二叉搜索树,如图。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20220930173553.png) +![](images/0108.将有序数组转换为二叉搜索树-02.png) 上图中,是符合二叉搜索树的特性吧,如果要这么做的话,是不是本题意义就不大了,所以才强调是平衡二叉搜索树。 @@ -65,7 +65,7 @@ 如下两棵树,都是这个数组的平衡二叉搜索树: -![108.将有序数组转换为二叉搜索树](https://code-thinking.cdn.bcebos.com/pics/108.将有序数组转换为二叉搜索树.png) +![108.将有序数组转换为二叉搜索树](images/0108.将有序数组转换为二叉搜索树-03.png) 如果要分割的数组长度为偶数的时候,中间元素为两个,是取左边元素 就是树1,取右边元素就是树2。 diff --git "a/problems/0110.\345\271\263\350\241\241\344\272\214\345\217\211\346\240\221.md" "b/problems/0110.\345\271\263\350\241\241\344\272\214\345\217\211\346\240\221.md" index a4339ac3d7..ecff59c8a2 100644 --- "a/problems/0110.\345\271\263\350\241\241\344\272\214\345\217\211\346\240\221.md" +++ "b/problems/0110.\345\271\263\350\241\241\344\272\214\345\217\211\346\240\221.md" @@ -21,7 +21,7 @@ 给定二叉树 [3,9,20,null,null,15,7] -![110.平衡二叉树](https://code-thinking-1253855093.file.myqcloud.com/pics/2021020315542230.png) +![110.平衡二叉树](images/0110.平衡二叉树-01.png) 返回 true 。 @@ -29,7 +29,7 @@ 给定二叉树 [1,2,2,3,3,null,null,4,4] -![110.平衡二叉树1](https://code-thinking-1253855093.file.myqcloud.com/pics/20210203155447919.png) +![110.平衡二叉树1](images/0110.平衡二叉树-02.png) 返回 false 。 @@ -48,7 +48,7 @@ 但leetcode中强调的深度和高度很明显是按照节点来计算的,如图: -![110.平衡二叉树2](https://code-thinking-1253855093.file.myqcloud.com/pics/20210203155515650.png) +![110.平衡二叉树2](images/0110.平衡二叉树-03.png) 关于根节点的深度究竟是1 还是 0,不同的地方有不一样的标准,leetcode的题目中都是以节点为一度,即根节点深度是1。但维基百科上定义用边为一度,即根节点的深度是0,我们暂时以leetcode为准(毕竟要在这上面刷题)。 diff --git "a/problems/0111.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\345\260\217\346\267\261\345\272\246.md" "b/problems/0111.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\345\260\217\346\267\261\345\272\246.md" index 708e0532f8..5ae20121d5 100644 --- "a/problems/0111.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\345\260\217\346\267\261\345\272\246.md" +++ "b/problems/0111.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\345\260\217\346\267\261\345\272\246.md" @@ -22,7 +22,7 @@ 给定二叉树 [3,9,20,null,null,15,7], -![111.二叉树的最小深度1](https://code-thinking-1253855093.file.myqcloud.com/pics/2021020315582586.png) +![111.二叉树的最小深度1](images/0111.二叉树的最小深度-01.png) 返回它的最小深度 2. @@ -48,7 +48,7 @@ 本题还有一个误区,在处理节点的过程中,最大深度很容易理解,最小深度就不那么好理解,如图: -![111.二叉树的最小深度](https://code-thinking.cdn.bcebos.com/pics/111.%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E6%9C%80%E5%B0%8F%E6%B7%B1%E5%BA%A6.png) +![111.二叉树的最小深度](images/0111.二叉树的最小深度-02.png) 这就重新审题了,题目中说的是:**最小深度是从根节点到最近叶子节点的最短路径上的节点数量。**注意是**叶子节点**。 @@ -90,7 +90,7 @@ return result; 这个代码就犯了此图中的误区: -![111.二叉树的最小深度](https://code-thinking.cdn.bcebos.com/pics/111.%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E6%9C%80%E5%B0%8F%E6%B7%B1%E5%BA%A6.png) +![111.二叉树的最小深度](images/0111.二叉树的最小深度-03.png) 如果这么求的话,没有左孩子的分支会算为最短深度。 diff --git "a/problems/0112.\350\267\257\345\276\204\346\200\273\345\222\214.md" "b/problems/0112.\350\267\257\345\276\204\346\200\273\345\222\214.md" index 141967f593..e0508f4474 100644 --- "a/problems/0112.\350\267\257\345\276\204\346\200\273\345\222\214.md" +++ "b/problems/0112.\350\267\257\345\276\204\346\200\273\345\222\214.md" @@ -17,7 +17,7 @@ 示例: 给定如下二叉树,以及目标和 sum = 22, -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20230407210247.png) +![](images/0112.路径总和-01.png) 返回 true, 因为存在目标和为 22 的根节点到叶子节点的路径 5->4->11->2。 @@ -55,7 +55,7 @@ 如图所示: -![112.路径总和](https://code-thinking-1253855093.file.myqcloud.com/pics/2021020316051216.png) +![112.路径总和](images/0112.路径总和-02.png) 图中可以看出,遍历的路线,并不要遍历整棵树,所以递归函数需要返回值,可以用bool类型表示。 @@ -232,7 +232,7 @@ public: 给定如下二叉树,以及目标和 sum = 22, -![113.路径总和ii1.png](https://code-thinking-1253855093.file.myqcloud.com/pics/20210203160854654.png) +![113.路径总和ii1.png](images/0112.路径总和-03.png) ### 思路 @@ -241,7 +241,7 @@ public: 如图: -![113.路径总和ii](https://code-thinking-1253855093.file.myqcloud.com/pics/20210203160922745.png) +![113.路径总和ii](images/0112.路径总和-04.png) 为了尽可能的把细节体现出来,我写出如下代码(**这份代码并不简洁,但是逻辑非常清晰**) diff --git "a/problems/0115.\344\270\215\345\220\214\347\232\204\345\255\220\345\272\217\345\210\227.md" "b/problems/0115.\344\270\215\345\220\214\347\232\204\345\255\220\345\272\217\345\210\227.md" index cf24c4c180..2cf5ed1c6e 100644 --- "a/problems/0115.\344\270\215\345\220\214\347\232\204\345\255\220\345\272\217\345\210\227.md" +++ "b/problems/0115.\344\270\215\345\220\214\347\232\204\345\255\220\345\272\217\345\210\227.md" @@ -14,7 +14,7 @@ 题目数据保证答案符合 32 位带符号整数范围。 -![115.不同的子序列示例](https://code-thinking.cdn.bcebos.com/pics/115.不同的子序列示例.jpg) +![115.不同的子序列示例](images/0115.不同的子序列-01.jpg) 提示: @@ -72,7 +72,7 @@ dp[i][j]:以i-1为结尾的s子序列中出现以j-1为结尾的t的个数为d 从递推公式dp[i][j] = dp[i - 1][j - 1] + dp[i - 1][j]; 和 dp[i][j] = dp[i - 1][j]; 中可以看出dp[i][j] 是从上方和左上方推导而来,如图:,那么 dp[i][0] 和dp[0][j]是一定要初始化的。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20221222165412.png) +![](images/0115.不同的子序列-02.png) 每次当初始化的时候,都要回顾一下dp[i][j]的定义,不要凭感觉初始化。 @@ -103,7 +103,7 @@ for (int j = 1; j <= t.size(); j++) dp[0][j] = 0; // 其实这行代码可以和 从递推公式dp[i][j] = dp[i - 1][j - 1] + dp[i - 1][j]; 和 dp[i][j] = dp[i - 1][j]; 中可以看出dp[i][j]都是根据左上方和正上方推出来的。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20221222165412.png) +![](images/0115.不同的子序列-03.png) 所以遍历的时候一定是从上到下,从左到右,这样保证dp[i][j]可以根据之前计算出来的数值进行计算。 @@ -125,7 +125,7 @@ for (int i = 1; i <= s.size(); i++) { 以s:"baegg",t:"bag"为例,推导dp数组状态如下: -![115.不同的子序列](https://code-thinking.cdn.bcebos.com/pics/115.%E4%B8%8D%E5%90%8C%E7%9A%84%E5%AD%90%E5%BA%8F%E5%88%97.jpg) +![115.不同的子序列](images/0115.不同的子序列-04.jpg) 如果写出来的代码怎么改都通过不了,不妨把dp数组打印出来,看一看,是不是这样的。 diff --git "a/problems/0116.\345\241\253\345\205\205\346\257\217\344\270\252\350\212\202\347\202\271\347\232\204\344\270\213\344\270\200\344\270\252\345\217\263\344\276\247\350\212\202\347\202\271\346\214\207\351\222\210.md" "b/problems/0116.\345\241\253\345\205\205\346\257\217\344\270\252\350\212\202\347\202\271\347\232\204\344\270\213\344\270\200\344\270\252\345\217\263\344\276\247\350\212\202\347\202\271\346\214\207\351\222\210.md" index 98bd4e41c1..4df018821d 100644 --- "a/problems/0116.\345\241\253\345\205\205\346\257\217\344\270\252\350\212\202\347\202\271\347\232\204\344\270\213\344\270\200\344\270\252\345\217\263\344\276\247\350\212\202\347\202\271\346\214\207\351\222\210.md" +++ "b/problems/0116.\345\241\253\345\205\205\346\257\217\344\270\252\350\212\202\347\202\271\347\232\204\344\270\213\344\270\200\344\270\252\345\217\263\344\276\247\350\212\202\347\202\271\346\214\207\351\222\210.md" @@ -28,7 +28,7 @@ struct Node { * 你只能使用常量级额外空间。 * 使用递归解题也符合要求,本题中递归程序占用的栈空间不算做额外的空间复杂度。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20210727143202.png) +![](images/0116.填充每个节点的下一个右侧节点指针-01.png) ## 思路 @@ -44,7 +44,7 @@ struct Node { 如图,假如当前操作的节点是cur: - + 最关键的点是可以通过上一层递归 搭出来的线,进行本次搭线。 diff --git "a/problems/0121.\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272.md" "b/problems/0121.\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272.md" index f8092503e3..c399433ea7 100644 --- "a/problems/0121.\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272.md" +++ "b/problems/0121.\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272.md" @@ -131,7 +131,7 @@ dp[0][1]表示第0天不持有股票,不持有股票那么现金就是0,所 以示例1,输入:[7,1,5,3,6,4]为例,dp数组状态如下: -![121.买卖股票的最佳时机](https://code-thinking-1253855093.file.myqcloud.com/pics/20210224225642465.png) +![121.买卖股票的最佳时机](images/0121.买卖股票的最佳时机-01.png) dp[5][1]就是最终结果。 diff --git "a/problems/0122.\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272II.md" "b/problems/0122.\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272II.md" index 6663a66d12..69fd8404ca 100644 --- "a/problems/0122.\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272II.md" +++ "b/problems/0122.\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272II.md" @@ -68,7 +68,7 @@ 如图: -![122.买卖股票的最佳时机II](https://code-thinking-1253855093.file.myqcloud.com/pics/2020112917480858-20230310134659477.png) +![122.买卖股票的最佳时机II](images/0122.买卖股票的最佳时机II-01.png) 一些同学陷入:第一天怎么就没有利润呢,第一天到底算不算的困惑中。 diff --git "a/problems/0123.\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272III.md" "b/problems/0123.\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272III.md" index 1b7c09d214..57752b9ab3 100644 --- "a/problems/0123.\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272III.md" +++ "b/problems/0123.\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272III.md" @@ -122,7 +122,7 @@ dp[i][4] = max(dp[i - 1][4], dp[i - 1][3] + prices[i]); 以输入[1,2,3,4,5]为例 -![123.买卖股票的最佳时机III](https://code-thinking-1253855093.file.myqcloud.com/pics/20201228181724295-20230310134201291.png) +![123.买卖股票的最佳时机III](images/0123.买卖股票的最佳时机III-01.png) 大家可以看到红色框为最后两次卖出的状态。 diff --git "a/problems/0127.\345\215\225\350\257\215\346\216\245\351\276\231.md" "b/problems/0127.\345\215\225\350\257\215\346\216\245\351\276\231.md" index 00d7d4cfc4..ffb5518173 100644 --- "a/problems/0127.\345\215\225\350\257\215\346\216\245\351\276\231.md" +++ "b/problems/0127.\345\215\225\350\257\215\346\216\245\351\276\231.md" @@ -33,7 +33,7 @@ 以示例1为例,从这个图中可以看出 hit 到 cog的路线,不止一条,有三条,一条是最短的长度为5,两条长度为6。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20210827175432.png) +![](images/0127.单词接龙-01.png) 本题只需要求出最短路径的长度就可以了,不用找出路径。 diff --git "a/problems/0129.\346\261\202\346\240\271\345\210\260\345\217\266\345\255\220\350\212\202\347\202\271\346\225\260\345\255\227\344\271\213\345\222\214.md" "b/problems/0129.\346\261\202\346\240\271\345\210\260\345\217\266\345\255\220\350\212\202\347\202\271\346\225\260\345\255\227\344\271\213\345\222\214.md" index 90dfd0618f..5c2f5f51df 100644 --- "a/problems/0129.\346\261\202\346\240\271\345\210\260\345\217\266\345\255\220\350\212\202\347\202\271\346\225\260\345\255\227\344\271\213\345\222\214.md" +++ "b/problems/0129.\346\261\202\346\240\271\345\210\260\345\217\266\345\255\220\350\212\202\347\202\271\346\225\260\345\255\227\344\271\213\345\222\214.md" @@ -83,7 +83,7 @@ int vectorToInt(const vector& vec) { 如图: - + 代码如下: diff --git "a/problems/0130.\350\242\253\345\233\264\347\273\225\347\232\204\345\214\272\345\237\237.md" "b/problems/0130.\350\242\253\345\233\264\347\273\225\347\232\204\345\214\272\345\237\237.md" index 8ef8d5b280..00319bae95 100644 --- "a/problems/0130.\350\242\253\345\233\264\347\273\225\347\232\204\345\214\272\345\237\237.md" +++ "b/problems/0130.\350\242\253\345\233\264\347\273\225\347\232\204\345\214\272\345\237\237.md" @@ -10,7 +10,7 @@ 给你一个 m x n 的矩阵 board ,由若干字符 'X' 和 'O' ,找到所有被 'X' 围绕的区域,并将这些区域里所有的 'O' 用 'X' 填充。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20220901104745.png) +![](images/0130.被围绕的区域-01.png) * 输入:board = [["X","X","X","X"],["X","O","O","X"],["X","X","O","X"],["X","O","X","X"]] * 输出:[["X","X","X","X"],["X","X","X","X"],["X","X","X","X"],["X","O","X","X"]] @@ -30,11 +30,11 @@ 步骤一:深搜或者广搜将地图周边的'O'全部改成'A',如图所示: -![图一](https://code-thinking-1253855093.file.myqcloud.com/pics/20220902102337.png) +![图一](images/0130.被围绕的区域-02.png) 步骤二:在遍历地图,将'O'全部改成'X'(地图中间的'O'改成了'X'),将'A'改回'O'(保留的地图周边的'O'),如图所示: -![图二](https://code-thinking-1253855093.file.myqcloud.com/pics/20220902102831.png) +![图二](images/0130.被围绕的区域-03.png) 整体C++代码如下,以下使用dfs实现,其实遍历方式dfs,bfs都是可以的。 diff --git "a/problems/0131.\345\210\206\345\211\262\345\233\236\346\226\207\344\270\262.md" "b/problems/0131.\345\210\206\345\211\262\345\233\236\346\226\207\344\270\262.md" index 4eca0ddf53..80a9b69c34 100644 --- "a/problems/0131.\345\210\206\345\211\262\345\233\236\346\226\207\344\270\262.md" +++ "b/problems/0131.\345\210\206\345\211\262\345\233\236\346\226\207\344\270\262.md" @@ -52,7 +52,7 @@ 所以切割问题,也可以抽象为一棵树形结构,如图: -![131.分割回文串](https://code-thinking.cdn.bcebos.com/pics/131.%E5%88%86%E5%89%B2%E5%9B%9E%E6%96%87%E4%B8%B2.jpg) +![131.分割回文串](images/0131.分割回文串-01.jpg) 递归用来纵向遍历,for循环用来横向遍历,切割线(就是图中的红线)切割到字符串的结尾位置,说明找到了一个切割方法。 @@ -78,7 +78,7 @@ void backtracking (const string& s, int startIndex) { * 递归函数终止条件 -![131.分割回文串](https://code-thinking.cdn.bcebos.com/pics/131.%E5%88%86%E5%89%B2%E5%9B%9E%E6%96%87%E4%B8%B2.jpg) +![131.分割回文串](images/0131.分割回文串-02.jpg) 从树形结构的图中可以看出:切割线切到了字符串最后面,说明找到了一种切割方法,此时就是本层递归的终止条件。 diff --git "a/problems/0132.\345\210\206\345\211\262\345\233\236\346\226\207\344\270\262II.md" "b/problems/0132.\345\210\206\345\211\262\345\233\236\346\226\207\344\270\262II.md" index 85e047f2b7..5189e78b23 100644 --- "a/problems/0132.\345\210\206\345\211\262\345\233\236\346\226\207\344\270\262II.md" +++ "b/problems/0132.\345\210\206\345\211\262\345\233\236\346\226\207\344\270\262II.md" @@ -163,7 +163,7 @@ for (int i = s.size() - 1; i >= 0; i--) { 以输入:"aabc" 为例: -![132.分割回文串II](https://code-thinking-1253855093.file.myqcloud.com/pics/20210124182218844.jpg) +![132.分割回文串II](images/0132.分割回文串II-01.jpg) 以上分析完毕,代码如下: diff --git "a/problems/0134.\345\212\240\346\262\271\347\253\231.md" "b/problems/0134.\345\212\240\346\262\271\347\253\231.md" index 0248760da6..f09fe2bf35 100644 --- "a/problems/0134.\345\212\240\346\262\271\347\253\231.md" +++ "b/problems/0134.\345\212\240\346\262\271\347\253\231.md" @@ -146,7 +146,7 @@ i从0开始累加rest[i],和记为curSum,一旦curSum小于零,说明[0, i 如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20230117165628.png) +![](images/0134.加油站-01.png) 那么为什么一旦[0,i] 区间和为负数,起始位置就可以是i+1呢,i+1后面就不会出现更大的负数? @@ -154,7 +154,7 @@ i从0开始累加rest[i],和记为curSum,一旦curSum小于零,说明[0, i 那有没有可能 [0,i] 区间 选某一个作为起点,累加到 i这里 curSum是不会小于零呢? 如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20230117170703.png) +![](images/0134.加油站-02.png) 如果 curSum<0 说明 区间和1 + 区间和2 < 0, 那么 假设从上图中的位置开始计数curSum不会小于0的话,就是 区间和2>0。 diff --git "a/problems/0135.\345\210\206\345\217\221\347\263\226\346\236\234.md" "b/problems/0135.\345\210\206\345\217\221\347\263\226\346\236\234.md" index eb2081fe3f..e73b77e4d4 100644 --- "a/problems/0135.\345\210\206\345\217\221\347\263\226\346\236\234.md" +++ "b/problems/0135.\345\210\206\345\217\221\347\263\226\346\236\234.md" @@ -58,7 +58,7 @@ for (int i = 1; i < ratings.size(); i++) { 如图: -![135.分发糖果](https://code-thinking-1253855093.file.myqcloud.com/pics/20201117114916878.png) +![135.分发糖果](images/0135.分发糖果-01.png) 再确定左孩子大于右孩子的情况(从后向前遍历) @@ -68,7 +68,7 @@ for (int i = 1; i < ratings.size(); i++) { 如果从前向后遍历,rating[5]与rating[4]的比较 就不能用上 rating[5]与rating[6]的比较结果了 。如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20230202102044.png) +![](images/0135.分发糖果-02.png) **所以确定左孩子大于右孩子的情况一定要从后向前遍历!** @@ -84,7 +84,7 @@ for (int i = 1; i < ratings.size(); i++) { 如图: -![135.分发糖果1](https://code-thinking-1253855093.file.myqcloud.com/pics/20201117115658791.png) +![135.分发糖果1](images/0135.分发糖果-03.png) 所以该过程代码如下: diff --git "a/problems/0139.\345\215\225\350\257\215\346\213\206\345\210\206.md" "b/problems/0139.\345\215\225\350\257\215\346\213\206\345\210\206.md" index 29748e2780..bf7fcb1446 100644 --- "a/problems/0139.\345\215\225\350\257\215\346\213\206\345\210\206.md" +++ "b/problems/0139.\345\215\225\350\257\215\346\213\206\345\210\206.md" @@ -182,7 +182,7 @@ dp[0]表示如果字符串为空的话,说明出现在字典里。 以输入: s = "leetcode", wordDict = ["leet", "code"]为例,dp状态如图: -![139.单词拆分](https://code-thinking-1253855093.file.myqcloud.com/pics/20210202162652727.jpg) +![139.单词拆分](images/0139.单词拆分-01.jpg) dp[s.size()]就是最终结果。 @@ -243,7 +243,7 @@ public: 使用用例:s = "applepenapple", wordDict = ["apple", "pen"],对应的dp数组状态如下: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240809155103.png) +![](images/0139.单词拆分-02.png) 最后dp[s.size()] = 0 即 dp[13] = 0 ,而不是1,因为先用 "apple" 去遍历的时候,dp[8]并没有被赋值为1 (还没用"pen"),所以 dp[13]也不能变成1。 diff --git "a/problems/0141.\347\216\257\345\275\242\351\223\276\350\241\250.md" "b/problems/0141.\347\216\257\345\275\242\351\223\276\350\241\250.md" index ac6565763f..055be12ee9 100644 --- "a/problems/0141.\347\216\257\345\275\242\351\223\276\350\241\250.md" +++ "b/problems/0141.\347\216\257\345\275\242\351\223\276\350\241\250.md" @@ -15,7 +15,7 @@ 如果链表中存在环,则返回 true 。 否则,返回 false 。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20210727173600.png) +![](images/0141.环形链表-01.png) ## 思路 @@ -31,7 +31,7 @@ 会发现最终都是这种情况, 如下图: - + fast和slow各自再走一步, fast和slow就相遇了 @@ -40,7 +40,7 @@ fast和slow各自再走一步, fast和slow就相遇了 动画如下: -![141.环形链表](https://code-thinking.cdn.bcebos.com/gifs/141.%E7%8E%AF%E5%BD%A2%E9%93%BE%E8%A1%A8.gif) +![141.环形链表](images/0141.环形链表-03.gif) C++代码如下 diff --git "a/problems/0142.\347\216\257\345\275\242\351\223\276\350\241\250II.md" "b/problems/0142.\347\216\257\345\275\242\351\223\276\350\241\250II.md" index 7cda58c396..67b2fd6555 100644 --- "a/problems/0142.\347\216\257\345\275\242\351\223\276\350\241\250II.md" +++ "b/problems/0142.\347\216\257\345\275\242\351\223\276\350\241\250II.md" @@ -22,7 +22,7 @@ **说明**:不允许修改给定的链表。 -![循环链表](https://code-thinking-1253855093.file.myqcloud.com/pics/20200816110112704.png) +![循环链表](images/0142.环形链表II-01.png) ## 算法公开课 @@ -52,7 +52,7 @@ 会发现最终都是这种情况, 如下图: -![142环形链表1](https://code-thinking-1253855093.file.myqcloud.com/pics/20210318162236720.png) +![142环形链表1](images/0142.环形链表II-02.png) fast和slow各自再走一步, fast和slow就相遇了 @@ -61,7 +61,7 @@ fast和slow各自再走一步, fast和slow就相遇了 动画如下: -![141.环形链表](https://code-thinking.cdn.bcebos.com/gifs/141.%E7%8E%AF%E5%BD%A2%E9%93%BE%E8%A1%A8.gif) +![141.环形链表](images/0142.环形链表II-03.gif) ### 如果有环,如何找到这个环的入口 @@ -72,7 +72,7 @@ fast和slow各自再走一步, fast和slow就相遇了 环形入口节点到 fast指针与slow指针相遇节点 节点数为y。 从相遇节点 再到环形入口节点节点数为 z。 如图所示: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20220925103433.png) +![](images/0142.环形链表II-04.png) 那么相遇时: slow指针走过的节点数为: `x + y`, @@ -105,7 +105,7 @@ fast指针走过的节点数:` x + y + n (y + z)`,n为fast指针在环内走 动画如下: -![142.环形链表II(求入口)](https://code-thinking.cdn.bcebos.com/gifs/142.%E7%8E%AF%E5%BD%A2%E9%93%BE%E8%A1%A8II%EF%BC%88%E6%B1%82%E5%85%A5%E5%8F%A3%EF%BC%89.gif) +![142.环形链表II(求入口)](images/0142.环形链表II-05.gif) 那么 n如果大于1是什么情况呢,就是fast指针在环形转n圈之后才遇到 slow指针。 @@ -156,20 +156,20 @@ public: 即文章[链表:环找到了,那入口呢?](https://programmercarl.com/0142.环形链表II.html)中如下的地方: -![142环形链表5](https://code-thinking-1253855093.file.myqcloud.com/pics/20210318165123581.png) +![142环形链表5](images/0142.环形链表II-06.png) 首先slow进环的时候,fast一定是先进环来了。 如果slow进环入口,fast也在环入口,那么把这个环展开成直线,就是如下图的样子: -![142环形链表3](https://code-thinking-1253855093.file.myqcloud.com/pics/2021031816503266.png) +![142环形链表3](images/0142.环形链表II-07.png) 可以看出如果slow 和 fast同时在环入口开始走,一定会在环入口3相遇,slow走了一圈,fast走了两圈。 重点来了,slow进环的时候,fast一定是在环的任意一个位置,如图: -![142环形链表4](https://code-thinking-1253855093.file.myqcloud.com/pics/2021031816515727.png) +![142环形链表4](images/0142.环形链表II-08.png) 那么fast指针走到环入口3的时候,已经走了k + n 个节点,slow相应的应该走了(k + n) / 2 个节点。 diff --git "a/problems/0143.\351\207\215\346\216\222\351\223\276\350\241\250.md" "b/problems/0143.\351\207\215\346\216\222\351\223\276\350\241\250.md" index ccddef5bf0..01fb41449c 100644 --- "a/problems/0143.\351\207\215\346\216\222\351\223\276\350\241\250.md" +++ "b/problems/0143.\351\207\215\346\216\222\351\223\276\350\241\250.md" @@ -8,7 +8,7 @@ [力扣题目链接](https://leetcode.cn/problems/reorder-list/submissions/) -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20210726160122.png) +![](images/0143.重排链表-01.png) ## 思路 @@ -98,7 +98,7 @@ public: 如图: - + 这种方法,比较难,平均切割链表,看上去很简单,真正代码写的时候有很多细节,同时两个链表最后拼装整一个新的链表也有一些细节需要注意! diff --git "a/problems/0150.\351\200\206\346\263\242\345\205\260\350\241\250\350\276\276\345\274\217\346\261\202\345\200\274.md" "b/problems/0150.\351\200\206\346\263\242\345\205\260\350\241\250\350\276\276\345\274\217\346\261\202\345\200\274.md" index bc73f6da0d..693a4f18dd 100644 --- "a/problems/0150.\351\200\206\346\263\242\345\205\260\350\241\250\350\276\276\345\274\217\346\261\202\345\200\274.md" +++ "b/problems/0150.\351\200\206\346\263\242\345\205\260\350\241\250\350\276\276\345\274\217\346\261\202\345\200\274.md" @@ -80,7 +80,7 @@ 在进一步看,本题中每一个子表达式要得出一个结果,然后拿这个结果再进行运算,那么**这岂不就是一个相邻字符串消除的过程,和[1047.删除字符串中的所有相邻重复项](https://programmercarl.com/1047.删除字符串中的所有相邻重复项.html)中的对对碰游戏是不是就非常像了。** 如动画所示: -![150.逆波兰表达式求值](https://code-thinking.cdn.bcebos.com/gifs/150.逆波兰表达式求值.gif) +![150.逆波兰表达式求值](images/0150.逆波兰表达式求值-01.gif) 相信看完动画大家应该知道,这和[1047. 删除字符串中的所有相邻重复项](https://programmercarl.com/1047.删除字符串中的所有相邻重复项.html)是差不多的,只不过本题不要相邻元素做消除了,而是做运算! diff --git "a/problems/0188.\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272IV.md" "b/problems/0188.\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272IV.md" index cbba12c9d1..b1e1b4debf 100644 --- "a/problems/0188.\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272IV.md" +++ "b/problems/0188.\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272IV.md" @@ -134,7 +134,7 @@ for (int j = 1; j < 2 * k; j += 2) { 以输入[1,2,3,4,5],k=2为例。 -![188.买卖股票的最佳时机IV](https://code-thinking-1253855093.file.myqcloud.com/pics/20201229100358221.png) +![188.买卖股票的最佳时机IV](images/0188.买卖股票的最佳时机IV-01.png) 最后一次卖出,一定是利润最大的,dp[prices.size() - 1][2 * k]即红色部分就是最后求解。 diff --git "a/problems/0198.\346\211\223\345\256\266\345\212\253\350\210\215.md" "b/problems/0198.\346\211\223\345\256\266\345\212\253\350\210\215.md" index 032204bbce..39d58b663c 100644 --- "a/problems/0198.\346\211\223\345\256\266\345\212\253\350\210\215.md" +++ "b/problems/0198.\346\211\223\345\256\266\345\212\253\350\210\215.md" @@ -89,7 +89,7 @@ for (int i = 2; i < nums.size(); i++) { 以示例二,输入[2,7,9,3,1]为例。 -![198.打家劫舍](https://code-thinking-1253855093.file.myqcloud.com/pics/20210221170954115.jpg) +![198.打家劫舍](images/0198.打家劫舍-01.jpg) 红框dp[nums.size() - 1]为结果。 diff --git "a/problems/0200.\345\262\233\345\261\277\346\225\260\351\207\217.\345\271\277\346\220\234\347\211\210.md" "b/problems/0200.\345\262\233\345\261\277\346\225\260\351\207\217.\345\271\277\346\220\234\347\211\210.md" index 00e4efd894..dd08fc8142 100644 --- "a/problems/0200.\345\262\233\345\261\277\346\225\260\351\207\217.\345\271\277\346\220\234\347\211\210.md" +++ "b/problems/0200.\345\262\233\345\261\277\346\225\260\351\207\217.\345\271\277\346\220\234\347\211\210.md" @@ -15,7 +15,7 @@ 此外,你可以假设该网格的四条边均被水包围。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20220726093256.png) +![](images/0200.岛屿数量.广搜版-01.png) 提示: @@ -30,7 +30,7 @@ 也就是说斜角度链接是不算了, 例如示例二,是三个岛屿,如图: -![图一](https://code-thinking-1253855093.file.myqcloud.com/pics/20220726094200.png) +![图一](images/0200.岛屿数量.广搜版-02.png) 这道题题目是 DFS,BFS,并查集,基础题目。 @@ -50,7 +50,7 @@ 如果从队列拿出节点,再去标记这个节点走过,就会发生下图所示的结果,会导致很多节点重复加入队列。 -![图二](https://code-thinking-1253855093.file.myqcloud.com/pics/20220727100846.png) +![图二](images/0200.岛屿数量.广搜版-03.png) 超时写法 (从队列中取出节点再标记) diff --git "a/problems/0200.\345\262\233\345\261\277\346\225\260\351\207\217.\346\267\261\346\220\234\347\211\210.md" "b/problems/0200.\345\262\233\345\261\277\346\225\260\351\207\217.\346\267\261\346\220\234\347\211\210.md" index 4657920334..da6e42950b 100644 --- "a/problems/0200.\345\262\233\345\261\277\346\225\260\351\207\217.\346\267\261\346\220\234\347\211\210.md" +++ "b/problems/0200.\345\262\233\345\261\277\346\225\260\351\207\217.\346\267\261\346\220\234\347\211\210.md" @@ -14,7 +14,7 @@ 此外,你可以假设该网格的四条边均被水包围。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20220726093256.png) +![](images/0200.岛屿数量.深搜版-01.png) 提示: @@ -29,7 +29,7 @@ 也就是说斜角度链接是不算了, 例如示例二,是三个岛屿,如图: -![图一](https://code-thinking-1253855093.file.myqcloud.com/pics/20220726094200.png) +![图一](images/0200.岛屿数量.深搜版-02.png) 这道题题目是 DFS,BFS,并查集,基础题目。 diff --git "a/problems/0203.\347\247\273\351\231\244\351\223\276\350\241\250\345\205\203\347\264\240.md" "b/problems/0203.\347\247\273\351\231\244\351\223\276\350\241\250\345\205\203\347\264\240.md" index 5a4bbb7423..e361adc18f 100644 --- "a/problems/0203.\347\247\273\351\231\244\351\223\276\350\241\250\345\205\203\347\264\240.md" +++ "b/problems/0203.\347\247\273\351\231\244\351\223\276\350\241\250\345\205\203\347\264\240.md" @@ -36,11 +36,11 @@ 这里以链表 1 4 2 4 来举例,移除元素4。 -![203_链表删除元素1](https://code-thinking-1253855093.file.myqcloud.com/pics/20210316095351161.png) +![203_链表删除元素1](images/0203.移除链表元素-01.png) 如果使用C,C++编程语言的话,不要忘了还要从内存中删除这两个移除的节点, 清理节点内存之后如图: -![203_链表删除元素2](https://code-thinking-1253855093.file.myqcloud.com/pics/20210316095418280.png) +![203_链表删除元素2](images/0203.移除链表元素-02.png) **当然如果使用java ,python的话就不用手动管理内存了。** @@ -58,16 +58,16 @@ 来看第一种操作:直接使用原来的链表来进行移除。 -![203_链表删除元素3](https://code-thinking-1253855093.file.myqcloud.com/pics/2021031609544922.png) +![203_链表删除元素3](images/0203.移除链表元素-03.png) 移除头结点和移除其他节点的操作是不一样的,因为链表的其他节点都是通过前一个节点来移除当前节点,而头结点没有前一个节点。 所以头结点如何移除呢,其实只要将头结点向后移动一位就可以,这样就从链表中移除了一个头结点。 -![203_链表删除元素4](https://code-thinking-1253855093.file.myqcloud.com/pics/20210316095512470.png) +![203_链表删除元素4](images/0203.移除链表元素-04.png) 依然别忘将原头结点从内存中删掉。 -![203_链表删除元素5](https://code-thinking-1253855093.file.myqcloud.com/pics/20210316095543775.png) +![203_链表删除元素5](images/0203.移除链表元素-05.png) 这样移除了一个头结点,是不是发现,在单链表中移除头结点 和 移除其他节点的操作方式是不一样,其实在写代码的时候也会发现,需要单独写一段逻辑来处理移除头结点的情况。 @@ -78,7 +78,7 @@ 来看看如何设置一个虚拟头。依然还是在这个链表中,移除元素1。 -![203_链表删除元素6](https://code-thinking-1253855093.file.myqcloud.com/pics/20210316095619221.png) +![203_链表删除元素6](images/0203.移除链表元素-06.png) 这里来给链表添加一个虚拟头结点为新的头结点,此时要移除这个旧头结点元素1。 diff --git "a/problems/0206.\347\277\273\350\275\254\351\223\276\350\241\250.md" "b/problems/0206.\347\277\273\350\275\254\351\223\276\350\241\250.md" index 430bebe59b..c23fd86db7 100644 --- "a/problems/0206.\347\277\273\350\275\254\351\223\276\350\241\250.md" +++ "b/problems/0206.\347\277\273\350\275\254\351\223\276\350\241\250.md" @@ -29,7 +29,7 @@ 其实只需要改变链表的next指针的指向,直接将链表反转 ,而不用重新定义一个新的链表,如图所示: -![206_反转链表](https://code-thinking-1253855093.file.myqcloud.com/pics/20210218090901207.png) +![206_反转链表](images/0206.翻转链表-01.png) 之前链表的头节点是元素1, 反转之后头结点就是元素5 ,这里并没有添加或者删除节点,仅仅是改变next指针的方向。 @@ -37,7 +37,7 @@ 我们拿有示例中的链表来举例,如动画所示:(纠正:动画应该是先移动pre,在移动cur) -![](https://code-thinking.cdn.bcebos.com/gifs/206.%E7%BF%BB%E8%BD%AC%E9%93%BE%E8%A1%A8.gif) +![](images/0206.翻转链表-02.gif) 首先定义一个cur指针,指向头结点,再定义一个pre指针,初始化为null。 diff --git "a/problems/0209.\351\225\277\345\272\246\346\234\200\345\260\217\347\232\204\345\255\220\346\225\260\347\273\204.md" "b/problems/0209.\351\225\277\345\272\246\346\234\200\345\260\217\347\232\204\345\255\220\346\225\260\347\273\204.md" index c6d89976d0..9e6059ba4f 100644 --- "a/problems/0209.\351\225\277\345\272\246\346\234\200\345\260\217\347\232\204\345\255\220\346\225\260\347\273\204.md" +++ "b/problems/0209.\351\225\277\345\272\246\346\234\200\345\260\217\347\232\204\345\255\220\346\225\260\347\273\204.md" @@ -86,7 +86,7 @@ public: 这里还是以题目中的示例来举例,s=7, 数组是 2,3,1,2,4,3,来看一下查找的过程: -![209.长度最小的子数组](https://code-thinking.cdn.bcebos.com/gifs/209.%E9%95%BF%E5%BA%A6%E6%9C%80%E5%B0%8F%E7%9A%84%E5%AD%90%E6%95%B0%E7%BB%84.gif) +![209.长度最小的子数组](images/0209.长度最小的子数组-01.gif) 最后找到 4,3 是最短距离。 @@ -106,7 +106,7 @@ public: 解题的关键在于 窗口的起始位置如何移动,如图所示: -![leetcode_209](https://code-thinking-1253855093.file.myqcloud.com/pics/20210312160441942.png) +![leetcode_209](images/0209.长度最小的子数组-02.png) 可以发现**滑动窗口的精妙之处在于根据当前子序列和大小的情况,不断调节子序列的起始位置。从而将O(n^2)暴力解法降为O(n)。** diff --git "a/problems/0213.\346\211\223\345\256\266\345\212\253\350\210\215II.md" "b/problems/0213.\346\211\223\345\256\266\345\212\253\350\210\215II.md" index 05ebd1ad09..8e1d58de38 100644 --- "a/problems/0213.\346\211\223\345\256\266\345\212\253\350\210\215II.md" +++ "b/problems/0213.\346\211\223\345\256\266\345\212\253\350\210\215II.md" @@ -44,15 +44,15 @@ * 情况一:考虑不包含首尾元素 -![213.打家劫舍II](https://code-thinking-1253855093.file.myqcloud.com/pics/20210129160748643-20230310134000692.jpg) +![213.打家劫舍II](images/0213.打家劫舍II-01.jpg) * 情况二:考虑包含首元素,不包含尾元素 -![213.打家劫舍II1](https://code-thinking-1253855093.file.myqcloud.com/pics/20210129160821374-20230310134003961.jpg) +![213.打家劫舍II1](images/0213.打家劫舍II-02.jpg) * 情况三:考虑包含尾元素,不包含首元素 -![213.打家劫舍II2](https://code-thinking-1253855093.file.myqcloud.com/pics/20210129160842491-20230310134008133.jpg) +![213.打家劫舍II2](images/0213.打家劫舍II-03.jpg) **注意我这里用的是"考虑"**,例如情况三,虽然是考虑包含尾元素,但不一定要选尾部元素! 对于情况三,取nums[1] 和 nums[3]就是最大的。 diff --git "a/problems/0216.\347\273\204\345\220\210\346\200\273\345\222\214III.md" "b/problems/0216.\347\273\204\345\220\210\346\200\273\345\222\214III.md" index 3d7f2d0c03..0aee4a2bd8 100644 --- "a/problems/0216.\347\273\204\345\220\210\346\200\273\345\222\214III.md" +++ "b/problems/0216.\347\273\204\345\220\210\346\200\273\345\222\214III.md" @@ -47,7 +47,7 @@ 选取过程如图: -![216.组合总和III](https://code-thinking-1253855093.file.myqcloud.com/pics/20201123195717975.png) +![216.组合总和III](images/0216.组合总和III-01.png) 图中,可以看出,只有最后取到集合(1,3)和为4 符合条件。 @@ -110,7 +110,7 @@ if (path.size() == k) { 本题和[77. 组合](https://programmercarl.com/0077.组合.html)区别之一就是集合固定的就是9个数[1,...,9],所以for循环固定i<=9 如图: -![216.组合总和III](https://code-thinking-1253855093.file.myqcloud.com/pics/20201123195717975-20230310113546003.png) +![216.组合总和III](images/0216.组合总和III-02.png) 处理过程就是 path收集每次选取的元素,相当于树型结构里的边,sum来统计path里元素的总和。 @@ -168,7 +168,7 @@ public: 这道题目,剪枝操作其实是很容易想到了,想必大家看上面的树形图的时候已经想到了。 如图: -![216.组合总和III1](https://code-thinking-1253855093.file.myqcloud.com/pics/2020112319580476.png) +![216.组合总和III1](images/0216.组合总和III-03.png) 已选元素总和如果已经大于n(图中数值为4)了,那么往后遍历就没有意义了,直接剪掉。 diff --git "a/problems/0222.\345\256\214\345\205\250\344\272\214\345\217\211\346\240\221\347\232\204\350\212\202\347\202\271\344\270\252\346\225\260.md" "b/problems/0222.\345\256\214\345\205\250\344\272\214\345\217\211\346\240\221\347\232\204\350\212\202\347\202\271\344\270\252\346\225\260.md" index 8d7779f989..5f93bf512f 100644 --- "a/problems/0222.\345\256\214\345\205\250\344\272\214\345\217\211\346\240\221\347\232\204\350\212\202\347\202\271\344\270\252\346\225\260.md" +++ "b/problems/0222.\345\256\214\345\205\250\344\272\214\345\217\211\346\240\221\347\232\204\350\212\202\347\202\271\344\270\252\346\225\260.md" @@ -155,7 +155,7 @@ public: 我来举一个典型的例子如题: - + 完全二叉树只有两种情况,情况一:就是满二叉树,情况二:最后一层叶子节点没有满。 @@ -164,10 +164,10 @@ public: 对于情况二,分别递归左孩子,和右孩子,递归到某一深度一定会有左孩子或者右孩子为满二叉树,然后依然可以按照情况1来计算。 完全二叉树(一)如图: -![222.完全二叉树的节点个数](https://code-thinking-1253855093.file.myqcloud.com/pics/20201124092543662.png) +![222.完全二叉树的节点个数](images/0222.完全二叉树的节点个数-02.png) 完全二叉树(二)如图: -![222.完全二叉树的节点个数1](https://code-thinking-1253855093.file.myqcloud.com/pics/20201124092634138.png) +![222.完全二叉树的节点个数1](images/0222.完全二叉树的节点个数-03.png) 可以看出如果整个树不是满二叉树,就递归其左右孩子,直到遇到满二叉树为止,用公式计算这个子树(满二叉树)的节点数量。 @@ -175,15 +175,15 @@ public: 在完全二叉树中,如果递归向左遍历的深度等于递归向右遍历的深度,那说明就是满二叉树。如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20220829163554.png) +![](images/0222.完全二叉树的节点个数-04.png) 在完全二叉树中,如果递归向左遍历的深度不等于递归向右遍历的深度,则说明不是满二叉树,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20220829163709.png) +![](images/0222.完全二叉树的节点个数-05.png) 那有录友说了,这种情况,递归向左遍历的深度等于递归向右遍历的深度,但也不是满二叉树,如题: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20220829163811.png) +![](images/0222.完全二叉树的节点个数-06.png) 如果这么想,大家就是对 完全二叉树理解有误区了,**以上这棵二叉树,它根本就不是一个完全二叉树**! diff --git "a/problems/0225.\347\224\250\351\230\237\345\210\227\345\256\236\347\216\260\346\240\210.md" "b/problems/0225.\347\224\250\351\230\237\345\210\227\345\256\236\347\216\260\346\240\210.md" index 73d9db1b16..b0ca3ddad8 100644 --- "a/problems/0225.\347\224\250\351\230\237\345\210\227\345\256\236\347\216\260\346\240\210.md" +++ "b/problems/0225.\347\224\250\351\230\237\345\210\227\345\256\236\347\216\260\346\240\210.md" @@ -62,7 +62,7 @@ queue.pop(); queue.empty(); ``` -![225.用队列实现栈](https://code-thinking.cdn.bcebos.com/gifs/225.用队列实现栈.gif) +![225.用队列实现栈](images/0225.用队列实现栈-01.gif) 详细如代码注释所示: diff --git "a/problems/0226.\347\277\273\350\275\254\344\272\214\345\217\211\346\240\221.md" "b/problems/0226.\347\277\273\350\275\254\344\272\214\345\217\211\346\240\221.md" index c34ca4bfcb..78f17da5fa 100644 --- "a/problems/0226.\347\277\273\350\275\254\344\272\214\345\217\211\346\240\221.md" +++ "b/problems/0226.\347\277\273\350\275\254\344\272\214\345\217\211\346\240\221.md" @@ -12,7 +12,7 @@ 翻转一棵二叉树。 -![226.翻转二叉树](https://code-thinking-1253855093.file.myqcloud.com/pics/20210203192644329.png) +![226.翻转二叉树](images/0226.翻转二叉树-01.png) 这道题目背后有一个让程序员心酸的故事,听说 Homebrew的作者Max Howell,就是因为没在白板上写出翻转二叉树,最后被Google拒绝了。(真假不做判断,全当一个乐子哈) @@ -37,7 +37,7 @@ 如果要从整个树来看,翻转还真的挺复杂,整个树以中间分割线进行翻转,如图: -![226.翻转二叉树1](https://code-thinking-1253855093.file.myqcloud.com/pics/20210203192724351.png) +![226.翻转二叉树1](images/0226.翻转二叉树-02.png) 可以发现想要翻转它,其实就把每一个节点的左右孩子交换一下就可以了。 @@ -57,7 +57,7 @@ 我们下文以前序遍历为例,通过动画来看一下翻转的过程: -![翻转二叉树](https://code-thinking.cdn.bcebos.com/gifs/%E7%BF%BB%E8%BD%AC%E4%BA%8C%E5%8F%89%E6%A0%91.gif) +![翻转二叉树](images/0226.翻转二叉树-03.gif) 我们来看一下递归三部曲: diff --git "a/problems/0232.\347\224\250\346\240\210\345\256\236\347\216\260\351\230\237\345\210\227.md" "b/problems/0232.\347\224\250\346\240\210\345\256\236\347\216\260\351\230\237\345\210\227.md" index 657567cfdf..3ef9922978 100644 --- "a/problems/0232.\347\224\250\346\240\210\345\256\236\347\216\260\351\230\237\345\210\227.md" +++ "b/problems/0232.\347\224\250\346\240\210\345\256\236\347\216\260\351\230\237\345\210\227.md" @@ -59,7 +59,7 @@ queue.pop();**注意此时的输出栈的操作** queue.pop(); queue.empty(); -![232.用栈实现队列版本2](https://code-thinking.cdn.bcebos.com/gifs/232.用栈实现队列版本2.gif) +![232.用栈实现队列版本2](images/0232.用栈实现队列-01.gif) 在push数据的时候,只要数据放进输入栈就好,**但在pop的时候,操作就复杂一些,输出栈如果为空,就把进栈数据全部导入进来(注意是全部导入)**,再从出栈弹出数据,如果输出栈不为空,则直接从出栈弹出数据就可以了。 diff --git "a/problems/0234.\345\233\236\346\226\207\351\223\276\350\241\250.md" "b/problems/0234.\345\233\236\346\226\207\351\223\276\350\241\250.md" index 1356b7da3b..4e30dfe72e 100644 --- "a/problems/0234.\345\233\236\346\226\207\351\223\276\350\241\250.md" +++ "b/problems/0234.\345\233\236\346\226\207\351\223\276\350\241\250.md" @@ -89,7 +89,7 @@ public: 如图所示: - + 代码如下: diff --git "a/problems/0235.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\347\232\204\346\234\200\350\277\221\345\205\254\345\205\261\347\245\226\345\205\210.md" "b/problems/0235.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\347\232\204\346\234\200\350\277\221\345\205\254\345\205\261\347\245\226\345\205\210.md" index 3911261a53..7da10116ba 100644 --- "a/problems/0235.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\347\232\204\346\234\200\350\277\221\345\205\254\345\205\261\347\245\226\345\205\210.md" +++ "b/problems/0235.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\347\232\204\346\234\200\350\277\221\345\205\254\345\205\261\347\245\226\345\205\210.md" @@ -16,7 +16,7 @@ 例如,给定如下二叉搜索树:  root = [6,2,8,0,4,7,9,null,null,3,5] -![235. 二叉搜索树的最近公共祖先](https://code-thinking-1253855093.file.myqcloud.com/pics/20201018172243602.png) +![235. 二叉搜索树的最近公共祖先](images/0235.二叉搜索树的最近公共祖先-01.png) 示例 1: @@ -54,7 +54,7 @@ 如图,我们从根节点搜索,第一次遇到 cur节点是数值在[q, p]区间中,即 节点5,此时可以说明 q 和 p 一定分别存在于 节点 5的左子树,和右子树中。 -![235.二叉搜索树的最近公共祖先](https://code-thinking-1253855093.file.myqcloud.com/pics/20220926164214.png) +![235.二叉搜索树的最近公共祖先](images/0235.二叉搜索树的最近公共祖先-02.png) 此时节点5是不是最近公共祖先? 如果 从节点5继续向左遍历,那么将错过成为p的祖先, 如果从节点5继续向右遍历则错过成为q的祖先。 @@ -66,7 +66,7 @@ 如图所示:p为节点6,q为节点9 -![235.二叉搜索树的最近公共祖先2](https://code-thinking-1253855093.file.myqcloud.com/pics/20220926165141.png) +![235.二叉搜索树的最近公共祖先2](images/0235.二叉搜索树的最近公共祖先-03.png) 可以看出直接按照指定的方向,就可以找到节点8,为最近公共祖先,而且不需要遍历整棵树,找到结果直接返回! diff --git "a/problems/0236.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\350\277\221\345\205\254\345\205\261\347\245\226\345\205\210.md" "b/problems/0236.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\350\277\221\345\205\254\345\205\261\347\245\226\345\205\210.md" index 8cd505a829..289c00369e 100644 --- "a/problems/0236.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\350\277\221\345\205\254\345\205\261\347\245\226\345\205\210.md" +++ "b/problems/0236.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\350\277\221\345\205\254\345\205\261\347\245\226\345\205\210.md" @@ -18,7 +18,7 @@ 例如,给定如下二叉树:  root = [3,5,1,6,2,0,8,null,null,7,4] -![236. 二叉树的最近公共祖先](https://code-thinking-1253855093.file.myqcloud.com/pics/20201016173414722.png) +![236. 二叉树的最近公共祖先](images/0236.二叉树的最近公共祖先-01.png) 示例 1: 输入: root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 1 @@ -53,7 +53,7 @@ **首先最容易想到的一个情况:如果找到一个节点,发现左子树出现结点p,右子树出现节点q,或者 左子树出现结点q,右子树出现节点p,那么该节点就是节点p和q的最近公共祖先。** 即情况一: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20220922173502.png) +![](images/0236.二叉树的最近公共祖先-02.png) 判断逻辑是 如果递归遍历遇到q,就将q返回,遇到p 就将p返回,那么如果 左右子树的返回值都不为空,说明此时的中节点,一定是q 和p 的最近祖先。 @@ -63,7 +63,7 @@ **但是很多人容易忽略一个情况,就是节点本身p(q),它拥有一个子孙节点q(p)。** 情况二: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20220922173530.png) +![](images/0236.二叉树的最近公共祖先-03.png) 其实情况一 和 情况二 代码实现过程都是一样的,也可以说,实现情况一的逻辑,顺便包含了情况二。 @@ -131,7 +131,7 @@ left与right的逻辑处理; // 中 如图: -![236.二叉树的最近公共祖先](https://code-thinking-1253855093.file.myqcloud.com/pics/2021020415105872.png) +![236.二叉树的最近公共祖先](images/0236.二叉树的最近公共祖先-04.png) 就像图中一样直接返回7。 @@ -164,7 +164,7 @@ TreeNode* right = lowestCommonAncestor(root->right, p, q); 如图: -![236.二叉树的最近公共祖先1](https://code-thinking-1253855093.file.myqcloud.com/pics/20210204151125844.png) +![236.二叉树的最近公共祖先1](images/0236.二叉树的最近公共祖先-05.png) 图中节点10的左子树返回null,右子树返回目标值7,那么此时节点10的处理逻辑就是把右子树的返回值(最近公共祖先7)返回上去! @@ -185,7 +185,7 @@ else { // (left == NULL && right == NULL) 那么寻找最小公共祖先,完整流程图如下: -![236.二叉树的最近公共祖先2](https://code-thinking-1253855093.file.myqcloud.com/pics/202102041512582.png) +![236.二叉树的最近公共祖先2](images/0236.二叉树的最近公共祖先-06.png) **从图中,大家可以看到,我们是如何回溯遍历整棵二叉树,将结果返回给头结点的!** diff --git "a/problems/0239.\346\273\221\345\212\250\347\252\227\345\217\243\346\234\200\345\244\247\345\200\274.md" "b/problems/0239.\346\273\221\345\212\250\347\252\227\345\217\243\346\234\200\345\244\247\345\200\274.md" index 651e4da40c..7bd86eee36 100644 --- "a/problems/0239.\346\273\221\345\212\250\347\252\227\345\217\243\346\234\200\345\244\247\345\200\274.md" +++ "b/problems/0239.\346\273\221\345\212\250\347\252\227\345\217\243\346\234\200\345\244\247\345\200\274.md" @@ -20,7 +20,7 @@ 你能在线性时间复杂度内解决此题吗? - + 提示: @@ -84,7 +84,7 @@ public: 动画如下: -![239.滑动窗口最大值](https://code-thinking.cdn.bcebos.com/gifs/239.滑动窗口最大值.gif) +![239.滑动窗口最大值](images/0239.滑动窗口最大值-02.gif) 对于窗口里的元素{2, 3, 5, 1 ,4},单调队列里只维护{5, 4} 就够了,保持单调队列里单调递减,此时队列出口元素就是窗口里最大元素。 @@ -100,7 +100,7 @@ public: 为了更直观的感受到单调队列的工作过程,以题目示例为例,输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3,动画如下: -![239.滑动窗口最大值-2](https://code-thinking.cdn.bcebos.com/gifs/239.滑动窗口最大值-2.gif) +![239.滑动窗口最大值-2](images/0239.滑动窗口最大值-03.gif) 那么我们用什么数据结构来实现这个单调队列呢? diff --git "a/problems/0242.\346\234\211\346\225\210\347\232\204\345\255\227\346\257\215\345\274\202\344\275\215\350\257\215.md" "b/problems/0242.\346\234\211\346\225\210\347\232\204\345\255\227\346\257\215\345\274\202\344\275\215\350\257\215.md" index 61488f03fd..5af3e045c9 100644 --- "a/problems/0242.\346\234\211\346\225\210\347\232\204\345\255\227\346\257\215\345\274\202\344\275\215\350\257\215.md" +++ "b/problems/0242.\346\234\211\346\225\210\347\232\204\345\255\227\346\257\215\345\274\202\344\275\215\350\257\215.md" @@ -44,7 +44,7 @@ 操作动画如下: -![242.有效的字母异位词](https://code-thinking.cdn.bcebos.com/gifs/242.%E6%9C%89%E6%95%88%E7%9A%84%E5%AD%97%E6%AF%8D%E5%BC%82%E4%BD%8D%E8%AF%8D.gif) +![242.有效的字母异位词](images/0242.有效的字母异位词-01.gif) 定义一个数组叫做record用来上记录字符串s里字符出现的次数。 diff --git "a/problems/0257.\344\272\214\345\217\211\346\240\221\347\232\204\346\211\200\346\234\211\350\267\257\345\276\204.md" "b/problems/0257.\344\272\214\345\217\211\346\240\221\347\232\204\346\211\200\346\234\211\350\267\257\345\276\204.md" index fdaa87f896..b271960008 100644 --- "a/problems/0257.\344\272\214\345\217\211\346\240\221\347\232\204\346\211\200\346\234\211\350\267\257\345\276\204.md" +++ "b/problems/0257.\344\272\214\345\217\211\346\240\221\347\232\204\346\211\200\346\234\211\350\267\257\345\276\204.md" @@ -16,7 +16,7 @@ 说明: 叶子节点是指没有子节点的节点。 示例: -![257.二叉树的所有路径1](https://code-thinking-1253855093.file.myqcloud.com/pics/2021020415161576.png) +![257.二叉树的所有路径1](images/0257.二叉树的所有路径-01.png) ## 算法公开课 @@ -30,7 +30,7 @@ 前序遍历以及回溯的过程如图: -![257.二叉树的所有路径](https://code-thinking-1253855093.file.myqcloud.com/pics/20210204151702443.png) +![257.二叉树的所有路径](images/0257.二叉树的所有路径-02.png) 我们先使用递归的方式,来做前序遍历。**要知道递归和回溯就是一家的,本题也需要回溯。** @@ -317,7 +317,7 @@ public: 其实关键还在于 参数,使用的是 `string path`,这里并没有加上引用`&` ,即本层递归中,path + 该节点数值,但该层递归结束,上一层path的数值并不会受到任何影响。 如图所示: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20220831173322.png) +![](images/0257.二叉树的所有路径-03.png) 节点4 的path,在遍历到节点3,path+3,遍历节点3的递归结束之后,返回节点4(回溯的过程),path并不会把3加上。 diff --git "a/problems/0279.\345\256\214\345\205\250\345\271\263\346\226\271\346\225\260.md" "b/problems/0279.\345\256\214\345\205\250\345\271\263\346\226\271\346\225\260.md" index dc5a7e9ec9..254c8b6e5a 100644 --- "a/problems/0279.\345\256\214\345\205\250\345\271\263\346\226\271\346\225\260.md" +++ "b/problems/0279.\345\256\214\345\205\250\345\271\263\346\226\271\346\225\260.md" @@ -95,7 +95,7 @@ for (int i = 0; i <= n; i++) { // 遍历背包 已输入n为5例,dp状态图如下: -![279.完全平方数](https://code-thinking-1253855093.file.myqcloud.com/pics/20210202112617341.jpg) +![279.完全平方数](images/0279.完全平方数-01.jpg) dp[0] = 0 dp[1] = min(dp[0] + 1) = 1 diff --git "a/problems/0283.\347\247\273\345\212\250\351\233\266.md" "b/problems/0283.\347\247\273\345\212\250\351\233\266.md" index cbce029576..bc1c00d990 100644 --- "a/problems/0283.\347\247\273\345\212\250\351\233\266.md" +++ "b/problems/0283.\347\247\273\345\212\250\351\233\266.md" @@ -34,7 +34,7 @@ 如动画所示: -![移动零](https://code-thinking.cdn.bcebos.com/gifs/283.%E7%A7%BB%E5%8A%A8%E9%9B%B6.gif) +![移动零](images/0283.移动零-01.gif) C++代码如下: diff --git "a/problems/0300.\346\234\200\351\225\277\344\270\212\345\215\207\345\255\220\345\272\217\345\210\227.md" "b/problems/0300.\346\234\200\351\225\277\344\270\212\345\215\207\345\255\220\345\272\217\345\210\227.md" index 442938c06f..97672b4405 100644 --- "a/problems/0300.\346\234\200\351\225\277\344\270\212\345\215\207\345\255\220\345\272\217\345\210\227.md" +++ "b/problems/0300.\346\234\200\351\225\277\344\270\212\345\215\207\345\255\220\345\272\217\345\210\227.md" @@ -87,7 +87,7 @@ for (int i = 1; i < nums.size(); i++) { 输入:[0,1,0,3,2],dp数组的变化如下: -![300.最长上升子序列](https://code-thinking-1253855093.file.myqcloud.com/pics/20210110170945618.jpg) +![300.最长上升子序列](images/0300.最长上升子序列-01.jpg) 如果代码写出来,但一直AC不了,那么就把dp数组打印出来,看看对不对! diff --git "a/problems/0309.\346\234\200\344\275\263\344\271\260\345\215\226\350\202\241\347\245\250\346\227\266\346\234\272\345\220\253\345\206\267\345\206\273\346\234\237.md" "b/problems/0309.\346\234\200\344\275\263\344\271\260\345\215\226\350\202\241\347\245\250\346\227\266\346\234\272\345\220\253\345\206\267\345\206\273\346\234\237.md" index b98a416cc1..6bb1130701 100644 --- "a/problems/0309.\346\234\200\344\275\263\344\271\260\345\215\226\350\202\241\347\245\250\346\227\266\346\234\272\345\220\253\345\206\267\345\206\273\346\234\237.md" +++ "b/problems/0309.\346\234\200\344\275\263\344\271\260\345\215\226\350\202\241\347\245\250\346\227\266\346\234\272\345\220\253\345\206\267\345\206\273\346\234\237.md" @@ -49,7 +49,7 @@ dp[i][j],第i天状态为j,所剩的最多现金为dp[i][j]。 * 状态三:今天卖出股票 * 状态四:今天为冷冻期状态,但冷冻期状态不可持续,只有一天! -![](https://code-thinking-1253855093.file.myqcloud.com/pics/518d5baaf33f4b2698064f8efb42edbf.png) +![](images/0309.最佳买卖股票时机含冷冻期-01.png) j的状态为: @@ -138,7 +138,7 @@ dp[i][3] = dp[i - 1][2]; 以 [1,2,3,0,2] 为例,dp数组如下: -![309.最佳买卖股票时机含冷冻期](https://code-thinking-1253855093.file.myqcloud.com/pics/2021032317451040.png) +![309.最佳买卖股票时机含冷冻期](images/0309.最佳买卖股票时机含冷冻期-02.png) 最后结果是取 状态二,状态三,和状态四的最大值,不少同学会把状态四忘了,状态四是冷冻期,最后一天如果是冷冻期也可能是最大值。 diff --git "a/problems/0322.\351\233\266\351\222\261\345\205\221\346\215\242.md" "b/problems/0322.\351\233\266\351\222\261\345\205\221\346\215\242.md" index e55e20bedf..003eeb3e11 100644 --- "a/problems/0322.\351\233\266\351\222\261\345\205\221\346\215\242.md" +++ "b/problems/0322.\351\233\266\351\222\261\345\205\221\346\215\242.md" @@ -106,7 +106,7 @@ dp[0] = 0; 以输入:coins = [1, 2, 5], amount = 5为例 -![322.零钱兑换](https://code-thinking-1253855093.file.myqcloud.com/pics/20210201111833906.jpg) +![322.零钱兑换](images/0322.零钱兑换-01.jpg) dp[amount]为最终结果。 diff --git "a/problems/0332.\351\207\215\346\226\260\345\256\211\346\216\222\350\241\214\347\250\213.md" "b/problems/0332.\351\207\215\346\226\260\345\256\211\346\216\222\350\241\214\347\250\213.md" index 78e1407419..d6b0223902 100644 --- "a/problems/0332.\351\207\215\346\226\260\345\256\211\346\216\222\350\241\214\347\250\213.md" +++ "b/problems/0332.\351\207\215\346\226\260\345\256\211\346\216\222\350\241\214\347\250\213.md" @@ -59,7 +59,7 @@ 对于死循环,我来举一个有重复机场的例子: -![332.重新安排行程](https://code-thinking-1253855093.file.myqcloud.com/pics/20201115180537865.png) +![332.重新安排行程](images/0332.重新安排行程-01.png) 为什么要举这个例子呢,就是告诉大家,出发机场和到达机场也会重复的,**如果在解题的过程中没有对集合元素处理好,就会死循环。** @@ -113,7 +113,7 @@ void backtracking(参数) { 本题以输入:[["JFK", "KUL"], ["JFK", "NRT"], ["NRT", "JFK"]为例,抽象为树形结构如下: -![332.重新安排行程1](https://code-thinking-1253855093.file.myqcloud.com/pics/2020111518065555-20230310121223600.png) +![332.重新安排行程1](images/0332.重新安排行程-02.png) 开始回溯三部曲讲解: @@ -139,7 +139,7 @@ bool backtracking(int ticketNum, vector& result) { 因为我们只需要找到一个行程,就是在树形结构中唯一的一条通向叶子节点的路线,如图: -![332.重新安排行程1](https://code-thinking-1253855093.file.myqcloud.com/pics/2020111518065555-20230310121240991.png) +![332.重新安排行程1](images/0332.重新安排行程-03.png) 所以找到了这个叶子节点了直接返回,这个递归函数的返回值问题我们在讲解二叉树的系列的时候,在这篇[二叉树:递归函数究竟什么时候需要返回值,什么时候不要返回值?](https://programmercarl.com/0112.路径总和.html)详细介绍过。 diff --git "a/problems/0337.\346\211\223\345\256\266\345\212\253\350\210\215III.md" "b/problems/0337.\346\211\223\345\256\266\345\212\253\350\210\215III.md" index a3130df7ee..97d5de7cc9 100644 --- "a/problems/0337.\346\211\223\345\256\266\345\212\253\350\210\215III.md" +++ "b/problems/0337.\346\211\223\345\256\266\345\212\253\350\210\215III.md" @@ -14,7 +14,7 @@ 计算在不触动警报的情况下,小偷一晚能够盗取的最高金额。 -![337.打家劫舍III](https://code-thinking-1253855093.file.myqcloud.com/pics/20210223173849619.png) +![337.打家劫舍III](images/0337.打家劫舍III-01.png) ## 算法公开课 @@ -179,7 +179,7 @@ return {val2, val1}; 以示例1为例,dp数组状态如下:(**注意用后序遍历的方式推导**) -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20230203110031.png) +![](images/0337.打家劫舍III-02.png) **最后头结点就是 取下标0 和 下标1的最大值就是偷得的最大金钱**。 diff --git "a/problems/0343.\346\225\264\346\225\260\346\213\206\345\210\206.md" "b/problems/0343.\346\225\264\346\225\260\346\213\206\345\210\206.md" index 5d0110f67e..d5ce149b1c 100644 --- "a/problems/0343.\346\225\264\346\225\260\346\213\206\345\210\206.md" +++ "b/problems/0343.\346\225\264\346\225\260\346\213\206\345\210\206.md" @@ -129,7 +129,7 @@ for (int i = 3; i <= n ; i++) { 举例当n为10 的时候,dp数组里的数值,如下: -![343.整数拆分](https://code-thinking-1253855093.file.myqcloud.com/pics/20210104173021581.png) +![343.整数拆分](images/0343.整数拆分-01.png) 以上动规五部曲分析完毕,C++代码如下: diff --git "a/problems/0344.\345\217\215\350\275\254\345\255\227\347\254\246\344\270\262.md" "b/problems/0344.\345\217\215\350\275\254\345\255\227\347\254\246\344\270\262.md" index 793c9af362..6fe8c534b7 100644 --- "a/problems/0344.\345\217\215\350\275\254\345\255\227\347\254\246\344\270\262.md" +++ "b/problems/0344.\345\217\215\350\275\254\345\255\227\347\254\246\344\270\262.md" @@ -71,7 +71,7 @@ 以字符串`hello`为例,过程如下: -![344.反转字符串](https://code-thinking.cdn.bcebos.com/gifs/344.%E5%8F%8D%E8%BD%AC%E5%AD%97%E7%AC%A6%E4%B8%B2.gif) +![344.反转字符串](images/0344.反转字符串-01.gif) 不难写出如下C++代码: diff --git "a/problems/0347.\345\211\215K\344\270\252\351\253\230\351\242\221\345\205\203\347\264\240.md" "b/problems/0347.\345\211\215K\344\270\252\351\253\230\351\242\221\345\205\203\347\264\240.md" index cca9b0edce..728911725d 100644 --- "a/problems/0347.\345\211\215K\344\270\252\351\253\230\351\242\221\345\205\203\347\264\240.md" +++ "b/problems/0347.\345\211\215K\344\270\252\351\253\230\351\242\221\345\205\203\347\264\240.md" @@ -72,7 +72,7 @@ 寻找前k个最大元素流程如图所示:(图中的频率只有三个,所以正好构成一个大小为3的小顶堆,如果频率更多一些,则用这个小顶堆进行扫描) -![347.前K个高频元素](https://code-thinking.cdn.bcebos.com/pics/347.前K个高频元素.jpg) +![347.前K个高频元素](images/0347.前K个高频元素-01.jpg) 我们来看一下C++代码: diff --git "a/problems/0349.\344\270\244\344\270\252\346\225\260\347\273\204\347\232\204\344\272\244\351\233\206.md" "b/problems/0349.\344\270\244\344\270\252\346\225\260\347\273\204\347\232\204\344\272\244\351\233\206.md" index 93fa09318a..afccbc8f6e 100644 --- "a/problems/0349.\344\270\244\344\270\252\346\225\260\347\273\204\347\232\204\344\272\244\351\233\206.md" +++ "b/problems/0349.\344\270\244\344\270\252\346\225\260\347\273\204\347\232\204\344\272\244\351\233\206.md" @@ -16,7 +16,7 @@ 题意:给定两个数组,编写一个函数来计算它们的交集。 -![349. 两个数组的交集](https://code-thinking-1253855093.file.myqcloud.com/pics/20200818193523911.png) +![349. 两个数组的交集](images/0349.两个数组的交集-01.png) **说明:** 输出结果中的每个元素一定是唯一的。 @@ -53,7 +53,7 @@ std::set和std::multiset底层实现都是红黑树,std::unordered_set的底 思路如图所示: -![set哈希法](https://code-thinking-1253855093.file.myqcloud.com/pics/20220707173513.png) +![set哈希法](images/0349.两个数组的交集-02.png) C++代码如下: diff --git "a/problems/0376.\346\221\206\345\212\250\345\272\217\345\210\227.md" "b/problems/0376.\346\221\206\345\212\250\345\272\217\345\210\227.md" index e2ea99046b..76a798af3d 100644 --- "a/problems/0376.\346\221\206\345\212\250\345\272\217\345\210\227.md" +++ "b/problems/0376.\346\221\206\345\212\250\345\272\217\345\210\227.md" @@ -48,7 +48,7 @@ 用示例二来举例,如图所示: -![376.摆动序列](https://code-thinking-1253855093.file.myqcloud.com/pics/20201124174327597.png) +![376.摆动序列](images/0376.摆动序列-01.png) **局部最优:删除单调坡度上的节点(不包括单调坡度两端的节点),那么这个坡度就可以有两个局部峰值**。 @@ -74,13 +74,13 @@ 例如 [1,2,2,2,2,1]这样的数组,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20230106170449.png) +![](images/0376.摆动序列-02.png) 它的摇摆序列长度是多少呢? **其实是长度是 3**,也就是我们在删除的时候 要不删除左面的三个 2,要不就删除右边的三个 2。 如图,可以统一规则,删除左边的三个 2: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20230106172613.png) +![](images/0376.摆动序列-03.png) 在图中,当 i 指向第一个 2 的时候,`prediff > 0 && curdiff = 0` ,当 i 指向最后一个 2 的时候 `prediff = 0 && curdiff < 0`。 @@ -108,7 +108,7 @@ 那么为了规则统一,针对序列[2,5],可以假设为[2,2,5],这样它就有坡度了即 preDiff = 0,如图: -![376.摆动序列1](https://code-thinking-1253855093.file.myqcloud.com/pics/20201124174357612.png) +![376.摆动序列1](images/0376.摆动序列-04.png) 针对以上情形,result 初始为 1(默认最右面有一个峰值),此时 curDiff > 0 && preDiff <= 0,那么 result++(计算了左面的峰值),最后得到的 result 就是 2(峰值个数为 2 即摆动序列长度为 2) @@ -147,7 +147,7 @@ public: 在版本一中,我们忽略了一种情况,即 如果在一个单调坡度上有平坡,例如[1,2,2,2,3,4],如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20230108171505.png) +![](images/0376.摆动序列-05.png) 图中,我们可以看出,版本一的代码在三个地方记录峰值,但其实结果因为是 2,因为 单调中的平坡 不能算峰值(即摆动)。 @@ -186,7 +186,7 @@ public: **本题异常情况的本质,就是要考虑平坡**, 平坡分两种,一个是 上下中间有平坡,一个是单调有平坡,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20230108174452.png) +![](images/0376.摆动序列-06.png) ### 思路 2(动态规划) diff --git "a/problems/0377.\347\273\204\345\220\210\346\200\273\345\222\214\342\205\243.md" "b/problems/0377.\347\273\204\345\220\210\346\200\273\345\222\214\342\205\243.md" index ba8546c662..5bebe26639 100644 --- "a/problems/0377.\347\273\204\345\220\210\346\200\273\345\222\214\342\205\243.md" +++ "b/problems/0377.\347\273\204\345\220\210\346\200\273\345\222\214\342\205\243.md" @@ -105,7 +105,7 @@ dp[i](考虑nums[j])可以由 dp[i - nums[j]](不考虑nums[j]) 推导 我们再来用示例中的例子推导一下: -![377.组合总和Ⅳ](https://code-thinking-1253855093.file.myqcloud.com/pics/20230310000625.png) +![377.组合总和Ⅳ](images/0377.组合总和Ⅳ-01.png) 如果代码运行处的结果不是想要的结果,就把dp[i]都打出来,看看和我们推导的一不一样。 diff --git "a/problems/0392.\345\210\244\346\226\255\345\255\220\345\272\217\345\210\227.md" "b/problems/0392.\345\210\244\346\226\255\345\255\220\345\272\217\345\210\227.md" index 92246e4f9b..b8f29682d8 100644 --- "a/problems/0392.\345\210\244\346\226\255\345\255\220\345\272\217\345\210\227.md" +++ "b/problems/0392.\345\210\244\346\226\255\345\255\220\345\272\217\345\210\227.md" @@ -82,7 +82,7 @@ if (s[i - 1] != t[j - 1]),此时相当于t要删除元素,t如果把当前 因为这样的定义在dp二维矩阵中可以留出初始化的区间,如图: -![392.判断子序列](https://code-thinking-1253855093.file.myqcloud.com/pics/20210303173115966.png) +![392.判断子序列](images/0392.判断子序列-01.png) 如果要是定义的dp[i][j]是以下标i为结尾的字符串s和以下标j为结尾的字符串t,初始化就比较麻烦了。 @@ -100,14 +100,14 @@ vector> dp(s.size() + 1, vector(t.size() + 1, 0)); 如图所示: -![392.判断子序列1](https://code-thinking-1253855093.file.myqcloud.com/pics/20210303172354155.jpg) +![392.判断子序列1](images/0392.判断子序列-02.jpg) 5. 举例推导dp数组 以示例一为例,输入:s = "abc", t = "ahbgdc",dp状态转移图如下: -![392.判断子序列2](https://code-thinking-1253855093.file.myqcloud.com/pics/2021030317364166.jpg) +![392.判断子序列2](images/0392.判断子序列-03.jpg) dp[i][j]表示以下标i-1为结尾的字符串s和以下标j-1为结尾的字符串t 相同子序列的长度,所以如果dp[s.size()][t.size()] 与 字符串s的长度相同说明:s与t的最长相同子序列就是s,那么s 就是 t 的子序列。 diff --git "a/problems/0404.\345\267\246\345\217\266\345\255\220\344\271\213\345\222\214.md" "b/problems/0404.\345\267\246\345\217\266\345\255\220\344\271\213\345\222\214.md" index 66aff68f2e..7eaf23a4d8 100644 --- "a/problems/0404.\345\267\246\345\217\266\345\255\220\344\271\213\345\222\214.md" +++ "b/problems/0404.\345\267\246\345\217\266\345\255\220\344\271\213\345\222\214.md" @@ -14,7 +14,7 @@ 示例: -![404.左叶子之和1](https://code-thinking-1253855093.file.myqcloud.com/pics/20210204151927654.png) +![404.左叶子之和1](images/0404.左叶子之和-01.png) ## 算法公开课 @@ -28,12 +28,12 @@ 大家思考一下如下图中二叉树,左叶子之和究竟是多少? -![404.左叶子之和](https://code-thinking-1253855093.file.myqcloud.com/pics/20210204151949672.png) +![404.左叶子之和](images/0404.左叶子之和-02.png) **其实是0,因为这棵树根本没有左叶子!** 但看这个图的左叶子之和是多少? -![图二](https://code-thinking-1253855093.file.myqcloud.com/pics/20220902165805.png) +![图二](images/0404.左叶子之和-03.png) 相信通过这两个图,大家对最左叶子的定义有明确理解了。 diff --git "a/problems/0406.\346\240\271\346\215\256\350\272\253\351\253\230\351\207\215\345\273\272\351\230\237\345\210\227.md" "b/problems/0406.\346\240\271\346\215\256\350\272\253\351\253\230\351\207\215\345\273\272\351\230\237\345\210\227.md" index d6fc415b68..9eeebbfac4 100644 --- "a/problems/0406.\346\240\271\346\215\256\350\272\253\351\253\230\351\207\215\345\273\272\351\230\237\345\210\227.md" +++ "b/problems/0406.\346\240\271\346\215\256\350\272\253\351\253\230\351\207\215\345\273\272\351\230\237\345\210\227.md" @@ -63,7 +63,7 @@ 以图中{5,2} 为例: -![406.根据身高重建队列](https://code-thinking-1253855093.file.myqcloud.com/pics/20201216201851982.png) +![406.根据身高重建队列](images/0406.根据身高重建队列-01.png) 按照身高排序之后,优先按身高高的people的k来插入,后序插入节点也不会影响前面已经插入的节点,最终按照k的规则完成了队列。 diff --git "a/problems/0416.\345\210\206\345\211\262\347\255\211\345\222\214\345\255\220\351\233\206.md" "b/problems/0416.\345\210\206\345\211\262\347\255\211\345\222\214\345\255\220\351\233\206.md" index 902c022ab3..f15a18ef6d 100644 --- "a/problems/0416.\345\210\206\345\211\262\347\255\211\345\222\214\345\255\220\351\233\206.md" +++ "b/problems/0416.\345\210\206\345\211\262\347\255\211\345\222\214\345\255\220\351\233\206.md" @@ -157,7 +157,7 @@ dp[j]的数值一定是小于等于j的。 用例1,输入[1,5,11,5] 为例,如图: -![416.分割等和子集2](https://code-thinking-1253855093.file.myqcloud.com/pics/20210110104240545.png) +![416.分割等和子集2](images/0416.分割等和子集-01.png) 最后dp[11] == 11,说明可以将这个数组分割成两个子集,使得两个子集的元素和相等。 diff --git "a/problems/0417.\345\244\252\345\271\263\346\264\213\345\244\247\350\245\277\346\264\213\346\260\264\346\265\201\351\227\256\351\242\230.md" "b/problems/0417.\345\244\252\345\271\263\346\264\213\345\244\247\350\245\277\346\264\213\346\260\264\346\265\201\351\227\256\351\242\230.md" index 5156ce2289..d9bb79a29a 100644 --- "a/problems/0417.\345\244\252\345\271\263\346\264\213\345\244\247\350\245\277\346\264\213\346\260\264\346\265\201\351\227\256\351\242\230.md" +++ "b/problems/0417.\345\244\252\345\271\263\346\264\213\345\244\247\350\245\277\346\264\213\346\260\264\346\265\201\351\227\256\351\242\230.md" @@ -20,7 +20,7 @@ 示例 1: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20230129103212.png) +![](images/0417.太平洋大西洋水流问题-01.png) * 输入: heights = [[1,2,2,3,5],[3,2,3,4,4],[2,4,5,3,1],[6,7,1,4,5],[5,1,1,2,4]] * 输出: [[0,4],[1,3],[1,4],[2,2],[3,0],[3,1],[4,0]] @@ -132,11 +132,11 @@ public: 从太平洋边上节点出发,如图: -![图一](https://code-thinking-1253855093.file.myqcloud.com/pics/20220722103029.png) +![图一](images/0417.太平洋大西洋水流问题-02.png) 从大西洋边上节点出发,如图: -![图二](https://code-thinking-1253855093.file.myqcloud.com/pics/20220722103330.png) +![图二](images/0417.太平洋大西洋水流问题-03.png) 按照这样的逻辑,就可以写出如下遍历代码:(详细注释) diff --git "a/problems/0435.\346\227\240\351\207\215\345\217\240\345\214\272\351\227\264.md" "b/problems/0435.\346\227\240\351\207\215\345\217\240\345\214\272\351\227\264.md" index d6321315d7..9c6fb03717 100644 --- "a/problems/0435.\346\227\240\351\207\215\345\217\240\345\214\272\351\227\264.md" +++ "b/problems/0435.\346\227\240\351\207\215\345\217\240\345\214\272\351\227\264.md" @@ -46,7 +46,7 @@ 这里记录非交叉区间的个数还是有技巧的,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20230201164134.png) +![](images/0435.无重叠区间-01.png) 区间,1,2,3,4,5,6都按照右边界排好序。 diff --git "a/problems/0450.\345\210\240\351\231\244\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\350\212\202\347\202\271.md" "b/problems/0450.\345\210\240\351\231\244\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\350\212\202\347\202\271.md" index 831655e8e1..8f0537b681 100644 --- "a/problems/0450.\345\210\240\351\231\244\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\350\212\202\347\202\271.md" +++ "b/problems/0450.\345\210\240\351\231\244\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\350\212\202\347\202\271.md" @@ -22,7 +22,7 @@ 示例: -![450.删除二叉搜索树中的节点](https://code-thinking-1253855093.file.myqcloud.com/pics/20201020171048265.png) +![450.删除二叉搜索树中的节点](images/0450.删除二叉搜索树中的节点-01.png) ## 算法公开课 @@ -69,7 +69,7 @@ if (root == nullptr) return root; 第五种情况有点难以理解,看下面动画: -![450.删除二叉搜索树中的节点](https://code-thinking.cdn.bcebos.com/gifs/450.%E5%88%A0%E9%99%A4%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91%E4%B8%AD%E7%9A%84%E8%8A%82%E7%82%B9.gif) +![450.删除二叉搜索树中的节点](images/0450.删除二叉搜索树中的节点-02.gif) 动画中的二叉搜索树中,删除元素7, 那么删除节点(元素7)的左孩子就是5,删除节点(元素7)的右子树的最左面节点是元素8。 diff --git "a/problems/0452.\347\224\250\346\234\200\345\260\221\346\225\260\351\207\217\347\232\204\347\256\255\345\274\225\347\210\206\346\260\224\347\220\203.md" "b/problems/0452.\347\224\250\346\234\200\345\260\221\346\225\260\351\207\217\347\232\204\347\256\255\345\274\225\347\210\206\346\260\224\347\220\203.md" index 14456f92bf..b333567f0e 100644 --- "a/problems/0452.\347\224\250\346\234\200\345\260\221\346\225\260\351\207\217\347\232\204\347\256\255\345\274\225\347\210\206\346\260\224\347\220\203.md" +++ "b/problems/0452.\347\224\250\346\234\200\345\260\221\346\225\260\351\207\217\347\232\204\347\256\255\345\274\225\347\210\206\346\260\224\347\220\203.md" @@ -78,7 +78,7 @@ 以题目示例: [[10,16],[2,8],[1,6],[7,12]]为例,如图:(方便起见,已经排序) -![452.用最少数量的箭引爆气球](https://code-thinking-1253855093.file.myqcloud.com/pics/20201123101929791.png) +![452.用最少数量的箭引爆气球](images/0452.用最少数量的箭引爆气球-01.png) 可以看出首先第一组重叠气球,一定是需要一个箭,气球3,的左边界大于了 第一组重叠气球的最小右边界,所以再需要一支箭来射气球3了。 diff --git "a/problems/0455.\345\210\206\345\217\221\351\245\274\345\271\262.md" "b/problems/0455.\345\210\206\345\217\221\351\245\274\345\271\262.md" index 5e8fb73094..b1a43e85a1 100644 --- "a/problems/0455.\345\210\206\345\217\221\351\245\274\345\271\262.md" +++ "b/problems/0455.\345\210\206\345\217\221\351\245\274\345\271\262.md" @@ -48,7 +48,7 @@ 如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20230405225628.png) +![](images/0455.分发饼干-01.png) 这个例子可以看出饼干 9 只有喂给胃口为 7 的小孩,这样才是整体最优解,并想不出反例,那么就可以撸代码了。 @@ -91,7 +91,7 @@ public: 如果 for 控制的是饼干, if 控制胃口,就是出现如下情况 : -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20230112102848.png) +![](images/0455.分发饼干-02.png) if 里的 index 指向 胃口 10, for 里的 i 指向饼干 9,因为 饼干 9 满足不了 胃口 10,所以 i 持续向前移动,而 index 走不到` s[index] >= g[i]` 的逻辑,所以 index 不会移动,那么当 i 持续向前移动,最后所有的饼干都匹配不上。 diff --git "a/problems/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262.md" "b/problems/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262.md" index 988b2abf11..ff2c544e70 100644 --- "a/problems/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262.md" +++ "b/problems/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262.md" @@ -48,13 +48,13 @@ 当一个字符串s:abcabc,内部由重复的子串组成,那么这个字符串的结构一定是这样的: -![图一](https://code-thinking-1253855093.file.myqcloud.com/pics/20220728104518.png) +![图一](images/0459.重复的子字符串-01.png) 也就是由前后相同的子串组成。 那么既然前面有相同的子串,后面有相同的子串,用 s + s,这样组成的字符串中,后面的子串做前串,前面的子串做后串,就一定还能组成一个s,如图: -![图二](https://code-thinking-1253855093.file.myqcloud.com/pics/20220728104931.png) +![图二](images/0459.重复的子字符串-02.png) 当然,我们在判断 s + s 拼接的字符串里是否出现一个s的的时候,**要刨除 s + s 的首字符和尾字符**,这样避免在s+s中搜索出原来的s,我们要搜索的是中间拼接出来的s。 @@ -66,11 +66,11 @@ 如图,字符串s,图中数字为数组下标,在 s + s 拼接后, 不算首尾字符,中间凑成s字符串。 (图中数字为数组下标) -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240910115555.png) +![](images/0459.重复的子字符串-03.png) 图中,因为中间拼接成了s,根据红色框 可以知道 s[4] = s[0], s[5] = s[1], s[0] = s[2], s[1] = s[3] s[2] = s[4] ,s[3] = s[5] -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240910115819.png) +![](images/0459.重复的子字符串-04.png) 以上相等关系我们串联一下: @@ -85,7 +85,7 @@ s[5] = s[1] = s[3] 这里可以有录友想,凭什么就是这样组成的s呢,我换一个方式组成s 行不行,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240910120751.png) +![](images/0459.重复的子字符串-05.png) s[3] = s[0],s[4] = s[1] ,s[5] = s[2],s[0] = s[3],s[1] = s[4],s[2] = s[5] @@ -103,7 +103,7 @@ s[0] s[1] s[2] = s[3] s[4] s[5] 如果是这样的呢,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240910121236.png) +![](images/0459.重复的子字符串-06.png) s[1] = s[0],s[2] = s[1] ,s[3] = s[2],s[4] = s[3],s[5] = s[4],s[0] = s[5] @@ -167,23 +167,23 @@ KMP算法中next数组为什么遇到字符不匹配的时候可以找到上一 那么相同前后缀可以是这样: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240913110257.png) +![](images/0459.重复的子字符串-07.png) 也可以是这样: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240913110316.png) +![](images/0459.重复的子字符串-08.png) 最长的相等前后缀,也就是这样: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240913110841.png) +![](images/0459.重复的子字符串-09.png) 这里有录友就想:如果字符串s 是由最小重复子串p组成,最长相等前后缀就不能更长一些? 例如这样: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240913114348.png) +![](images/0459.重复的子字符串-10.png) 如果这样的话,因为前后缀要相同,所以 p2 = p1,p3 = p2,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240913114818.png) +![](images/0459.重复的子字符串-11.png) p2 = p1,p3 = p2 即: p1 = p2 = p3 @@ -205,7 +205,7 @@ p2 = p1,p3 = p2 即: p1 = p2 = p3 情况一, 最长相等前后缀不包含的子串的长度 比 字符串s的一半的长度还大,那一定不是字符串s的重复子串,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240911110236.png) +![](images/0459.重复的子字符串-12.png) 图中:前后缀不包含的子串的长度 大于 字符串s的长度的 二分之一 @@ -213,7 +213,7 @@ p2 = p1,p3 = p2 即: p1 = p2 = p3 情况二,最长相等前后缀不包含的子串的长度 可以被 字符串s的长度整除,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240910174249.png) +![](images/0459.重复的子字符串-13.png) 步骤一:因为 这是相等的前缀和后缀,t[0] 与 k[0]相同, t[1] 与 k[1]相同,所以 s[0] 一定和 s[2]相同,s[1] 一定和 s[3]相同,即:,s[0]s[1]与s[2]s[3]相同 。 @@ -236,7 +236,7 @@ p2 = p1,p3 = p2 即: p1 = p2 = p3 那么它的最长相同前后缀,就不是上图中的前后缀,而是这样的的前后缀: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240910175053.png) +![](images/0459.重复的子字符串-14.png) 录友可能再问,由一个字符组成的字符串,最长相等前后缀凭什么就是这样的。 @@ -252,7 +252,7 @@ p2 = p1,p3 = p2 即: p1 = p2 = p3 **情况三,最长相等前后缀不包含的子串的长度 不被 字符串s的长度整除得情况**,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240913115854.png) +![](images/0459.重复的子字符串-15.png) 步骤一:因为 这是相等的前缀和后缀,t[0] 与 k[0]相同, t[1] 与 k[1]相同,t[2] 与 k[2]相同。 @@ -303,7 +303,7 @@ next 数组记录的就是最长相同前后缀( [字符串:KMP算法精讲] 如图: -![459.重复的子字符串_1](https://code-thinking.cdn.bcebos.com/pics/459.重复的子字符串_1.png) +![459.重复的子字符串_1](images/0459.重复的子字符串-16.png) `next[len - 1] = 7`,`next[len - 1] + 1 = 8`,8就是此时字符串asdfasdfasdf的最长相同前后缀的长度。 diff --git "a/problems/0463.\345\262\233\345\261\277\347\232\204\345\221\250\351\225\277.md" "b/problems/0463.\345\262\233\345\261\277\347\232\204\345\221\250\351\225\277.md" index 5261d6c2ae..2c5664a0c0 100644 --- "a/problems/0463.\345\262\233\345\261\277\347\232\204\345\221\250\351\225\277.md" +++ "b/problems/0463.\345\262\233\345\261\277\347\232\204\345\221\250\351\225\277.md" @@ -17,7 +17,7 @@ 岛屿中没有“湖”(“湖” 指水域在岛屿内部且不和岛屿周围的水相连)。格子是边长为 1 的正方形。网格为长方形,且宽度和高度均不超过 100 。计算这个岛屿的周长。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20230829180848.png) +![](images/0463.岛屿的周长-01.png) * 输入:grid = [[0,1,0,0],[1,1,1,0],[0,1,0,0],[1,1,0,0]] * 输出:16 @@ -51,7 +51,7 @@ 如图: - + C++代码如下:(详细注释) @@ -91,7 +91,7 @@ result = 岛屿数量 * 4 - cover * 2; 如图: - + C++代码如下:(详细注释) diff --git "a/problems/0474.\344\270\200\345\222\214\351\233\266.md" "b/problems/0474.\344\270\200\345\222\214\351\233\266.md" index 9d24f01434..6d782d58a1 100644 --- "a/problems/0474.\344\270\200\345\222\214\351\233\266.md" +++ "b/problems/0474.\344\270\200\345\222\214\351\233\266.md" @@ -53,7 +53,7 @@ 其实本题并不是多重背包,再来看一下这个图,捋清几种背包的关系 -![416.分割等和子集1](https://code-thinking-1253855093.file.myqcloud.com/pics/20210117171307407-20230310132423205.png) +![416.分割等和子集1](images/0474.一和零-01.png) 多重背包是每个物品,数量不同的情况。 @@ -129,7 +129,7 @@ for (string str : strs) { // 遍历物品 最后dp数组的状态如下所示: -![474.一和零](https://code-thinking-1253855093.file.myqcloud.com/pics/20210120111201512.jpg) +![474.一和零](images/0474.一和零-02.jpg) 以上动规五部曲分析完毕,C++代码如下: diff --git "a/problems/0491.\351\200\222\345\242\236\345\255\220\345\272\217\345\210\227.md" "b/problems/0491.\351\200\222\345\242\236\345\255\220\345\272\217\345\210\227.md" index 7832095a10..f2ccd15656 100644 --- "a/problems/0491.\351\200\222\345\242\236\345\255\220\345\272\217\345\210\227.md" +++ "b/problems/0491.\351\200\222\345\242\236\345\255\220\345\272\217\345\210\227.md" @@ -47,7 +47,7 @@ 为了有鲜明的对比,我用[4, 7, 6, 7]这个数组来举例,抽象为树形结构如图: -![491. 递增子序列1](https://code-thinking-1253855093.file.myqcloud.com/pics/20201124200229824.png) +![491. 递增子序列1](images/0491.递增子序列-01.png) @@ -81,7 +81,7 @@ if (path.size() > 1) { * 单层搜索逻辑 -![491. 递增子序列1](https://code-thinking-1253855093.file.myqcloud.com/pics/20201124200229824-20230310131640070.png) +![491. 递增子序列1](images/0491.递增子序列-02.png) 在图中可以看出,**同一父节点下的同层上使用过的元素就不能再使用了** 那么单层搜索代码如下: diff --git "a/problems/0494.\347\233\256\346\240\207\345\222\214.md" "b/problems/0494.\347\233\256\346\240\207\345\222\214.md" index c38ba7e43c..2c986d7351 100644 --- "a/problems/0494.\347\233\256\346\240\207\345\222\214.md" +++ "b/problems/0494.\347\233\256\346\240\207\345\222\214.md" @@ -165,7 +165,7 @@ if (abs(target) > sum) return 0; // 此时没有方案 先只考虑物品0,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240808161747.png) +![](images/0494.目标和-01.png) (这里的所有物品,都是题目中的数字1)。 @@ -179,7 +179,7 @@ if (abs(target) > sum) return 0; // 此时没有方案 接下来 考虑 物品0 和 物品1,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240808162052.png) +![](images/0494.目标和-02.png) 装满背包容量为0 的方法个数是1,即 放0件物品。 @@ -193,7 +193,7 @@ if (abs(target) > sum) return 0; // 此时没有方案 接下来 考虑 物品0 、物品1 和 物品2 ,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240808162533.png) +![](images/0494.目标和-03.png) 装满背包容量为0 的方法个数是1,即 放0件物品。 @@ -209,17 +209,17 @@ if (abs(target) > sum) return 0; // 此时没有方案 如图红色部分: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240808163312.png) +![](images/0494.目标和-04.png) dp[2][2] = 3,即 放物品0 和 放物品1、放物品0 和 物品 2、放物品1 和 物品2, 如图所示,三种方法: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240826111946.png) +![](images/0494.目标和-05.png) **容量为2 的背包,如果不放 物品2 有几种方法呢**? 有 dp[1][2] 种方法,即 背包容量为2,只考虑物品0 和 物品1 ,有 dp[1][2] 种方法,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240826112805.png) +![](images/0494.目标和-06.png) **容量为2 的背包, 如果放 物品2 有几种方法呢**? @@ -231,7 +231,7 @@ dp[2][2] = 3,即 放物品0 和 放物品1、放物品0 和 物品 2、放物 如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240826113043.png) +![](images/0494.目标和-07.png) 有录友可能疑惑,这里计算的是放满 容量为2的背包 有几种方法,那物品2去哪了? @@ -241,7 +241,7 @@ dp[2][2] = 容量为2的背包不放物品2有几种方法 + 容量为2的背包 所以 dp[2][2] = dp[1][2] + dp[1][1] ,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240826113258.png) +![](images/0494.目标和-08.png) 以上过程,抽象化如下: @@ -268,11 +268,11 @@ else dp[i][j] = dp[i - 1][j] + dp[i - 1][j - nums[i]]; 先明确递推的方向,如图,求解 dp[2][2] 是由 上方和左上方推出。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240826115800.png) +![](images/0494.目标和-09.png) 那么二维数组的最上行 和 最左列一定要初始化,这是递推公式推导的基础,如图红色部分: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240827103507.png) +![](images/0494.目标和-10.png) 关于dp[0][0]的值,在上面的递推公式讲解中已经讲过,装满背包容量为0 的方法数量是1,即 放0件物品。 @@ -325,7 +325,7 @@ for (int i = 0; i < nums.size(); i++) { 例如下图,如果上方没数值,左上方没数值,就无法推出 dp[2][2]。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240827105427.png) +![](images/0494.目标和-11.png) 那么是先 从上到下 ,再从左到右遍历,例如这样: @@ -351,11 +351,11 @@ for (int j = 0; j <= bagSize; j++) { // 列,遍历背包 这里我再画图讲一下,以求dp[2][2]为例,当先从上到下,再从左到右遍历,矩阵是这样: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240827110933.png) +![](images/0494.目标和-12.png) 当先从左到右,再从上到下遍历,矩阵是这样: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240827111013.png) +![](images/0494.目标和-13.png) 这里大家可以看出,无论是以上哪种遍历,都不影响 dp[2][2]的求值,用来 推导 dp[2][2] 的数值都在。 @@ -368,7 +368,7 @@ bagSize = (target + sum) / 2 = (3 + 5) / 2 = 4 dp数组状态变化如下: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240827111612.png) +![](images/0494.目标和-14.png) 这么大的矩阵,我们是可以自己手动模拟出来的。 @@ -447,7 +447,7 @@ bagSize = (target + sum) / 2 = (3 + 5) / 2 = 4 dp数组状态变化如下: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20210125120743274.jpg) +![](images/0494.目标和-15.jpg) 大家可以和 二维dp数组的打印结果做一下对比。 diff --git "a/problems/0501.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\344\274\227\346\225\260.md" "b/problems/0501.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\344\274\227\346\225\260.md" index c89f8031e8..204f1c241b 100644 --- "a/problems/0501.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\344\274\227\346\225\260.md" +++ "b/problems/0501.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\344\274\227\346\225\260.md" @@ -25,7 +25,7 @@ 给定 BST [1,null,2,2], -![501. 二叉搜索树中的众数](https://code-thinking-1253855093.file.myqcloud.com/pics/20201014221532206.png) +![501. 二叉搜索树中的众数](images/0501.二叉搜索树中的众数-01.png) 返回[2]. @@ -146,7 +146,7 @@ public: 如图: -![501.二叉搜索树中的众数1](https://code-thinking-1253855093.file.myqcloud.com/pics/20210204152758889.png) +![501.二叉搜索树中的众数1](images/0501.二叉搜索树中的众数-02.png) 中序遍历代码如下: diff --git "a/problems/0513.\346\211\276\346\240\221\345\267\246\344\270\213\350\247\222\347\232\204\345\200\274.md" "b/problems/0513.\346\211\276\346\240\221\345\267\246\344\270\213\350\247\222\347\232\204\345\200\274.md" index c7446726f8..422c2206c7 100644 --- "a/problems/0513.\346\211\276\346\240\221\345\267\246\344\270\213\350\247\222\347\232\204\345\200\274.md" +++ "b/problems/0513.\346\211\276\346\240\221\345\267\246\344\270\213\350\247\222\347\232\204\345\200\274.md" @@ -14,11 +14,11 @@ 示例 1: -![513.找树左下角的值](https://code-thinking-1253855093.file.myqcloud.com/pics/20210204152956836.png) +![513.找树左下角的值](images/0513.找树左下角的值-01.png) 示例 2: -![513.找树左下角的值1](https://code-thinking-1253855093.file.myqcloud.com/pics/20210204153017586.png) +![513.找树左下角的值1](images/0513.找树左下角的值-02.png) ## 算法公开课 diff --git "a/problems/0516.\346\234\200\351\225\277\345\233\236\346\226\207\345\255\220\345\272\217\345\210\227.md" "b/problems/0516.\346\234\200\351\225\277\345\233\236\346\226\207\345\255\220\345\272\217\345\210\227.md" index 166310aaff..61b0f7cbfa 100644 --- "a/problems/0516.\346\234\200\351\225\277\345\233\236\346\226\207\345\255\220\345\272\217\345\210\227.md" +++ "b/problems/0516.\346\234\200\351\225\277\345\233\236\346\226\207\345\255\220\345\272\217\345\210\227.md" @@ -58,7 +58,7 @@ 如果s[i]与s[j]相同,那么dp[i][j] = dp[i + 1][j - 1] + 2; 如图: -![516.最长回文子序列](https://code-thinking-1253855093.file.myqcloud.com/pics/20210127151350563.jpg) +![516.最长回文子序列](images/0516.最长回文子序列-01.jpg) (如果这里看不懂,回忆一下dp[i][j]的定义) @@ -70,7 +70,7 @@ 那么dp[i][j]一定是取最大的,即:dp[i][j] = max(dp[i + 1][j], dp[i][j - 1]); -![516.最长回文子序列1](https://code-thinking-1253855093.file.myqcloud.com/pics/20210127151420476.jpg) +![516.最长回文子序列1](images/0516.最长回文子序列-02.jpg) 代码如下: @@ -99,7 +99,7 @@ for (int i = 0; i < s.size(); i++) dp[i][i] = 1; 从递归公式中,可以看出,dp[i][j] 依赖于 dp[i + 1][j - 1] ,dp[i + 1][j] 和 dp[i][j - 1],如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20230102172155.png) +![](images/0516.最长回文子序列-03.png) **所以遍历i的时候一定要从下到上遍历,这样才能保证下一行的数据是经过计算的**。 @@ -123,7 +123,7 @@ for (int i = s.size() - 1; i >= 0; i--) { 输入s:"cbbd" 为例,dp数组状态如图: -![516.最长回文子序列3](https://code-thinking-1253855093.file.myqcloud.com/pics/20210127151521432.jpg) +![516.最长回文子序列3](images/0516.最长回文子序列-04.jpg) 红色框即:dp[0][s.size() - 1]; 为最终结果。 diff --git "a/problems/0518.\351\233\266\351\222\261\345\205\221\346\215\242II.md" "b/problems/0518.\351\233\266\351\222\261\345\205\221\346\215\242II.md" index 835df85212..7d7f9e79ca 100644 --- "a/problems/0518.\351\233\266\351\222\261\345\205\221\346\215\242II.md" +++ "b/problems/0518.\351\233\266\351\222\261\345\205\221\346\215\242II.md" @@ -138,7 +138,7 @@ 那么二维数组的最上行 和 最左列一定要初始化,这是递推公式推导的基础,如图红色部分: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240827103507.png) +![](images/0518.零钱兑换II-01.png) 这里首先要关注的就是 dp[0][0] 应该是多少? @@ -298,7 +298,7 @@ for (int j = 0; j <= amount; j++) { // 遍历背包容量 输入: amount = 5, coins = [1, 2, 5] ,dp状态图如下: -![518.零钱兑换II](https://code-thinking-1253855093.file.myqcloud.com/pics/20210120181331461.jpg) +![518.零钱兑换II](images/0518.零钱兑换II-02.jpg) 最后红色框dp[amount]为最终结果。 diff --git "a/problems/0530.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\347\232\204\346\234\200\345\260\217\347\273\235\345\257\271\345\267\256.md" "b/problems/0530.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\347\232\204\346\234\200\345\260\217\347\273\235\345\257\271\345\267\256.md" index b6d08dbeaa..0eea95685b 100644 --- "a/problems/0530.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\347\232\204\346\234\200\345\260\217\347\273\235\345\257\271\345\267\256.md" +++ "b/problems/0530.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\347\232\204\346\234\200\345\260\217\347\273\235\345\257\271\345\267\256.md" @@ -15,7 +15,7 @@ 示例: -![530二叉搜索树的最小绝对差](https://code-thinking-1253855093.file.myqcloud.com/pics/20201014223400123.png) +![530二叉搜索树的最小绝对差](images/0530.二叉搜索树的最小绝对差-01.png) 提示:树中至少有 2 个节点。 @@ -72,7 +72,7 @@ public: 如图: -![530.二叉搜索树的最小绝对差](https://code-thinking-1253855093.file.myqcloud.com/pics/20210204153247458.png) +![530.二叉搜索树的最小绝对差](images/0530.二叉搜索树的最小绝对差-02.png) 一些同学不知道在递归中如何记录前一个节点的指针,其实实现起来是很简单的,大家只要看过一次,写过一次,就掌握了。 diff --git "a/problems/0538.\346\212\212\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\350\275\254\346\215\242\344\270\272\347\264\257\345\212\240\346\240\221.md" "b/problems/0538.\346\212\212\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\350\275\254\346\215\242\344\270\272\347\264\257\345\212\240\346\240\221.md" index b95b585485..3d2d5bb827 100644 --- "a/problems/0538.\346\212\212\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\350\275\254\346\215\242\344\270\272\347\264\257\345\212\240\346\240\221.md" +++ "b/problems/0538.\346\212\212\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\350\275\254\346\215\242\344\270\272\347\264\257\345\212\240\346\240\221.md" @@ -20,7 +20,7 @@ 示例 1: -![538.把二叉搜索树转换为累加树](https://code-thinking-1253855093.file.myqcloud.com/pics/20201023160751832.png) +![538.把二叉搜索树转换为累加树](images/0538.把二叉搜索树转换为累加树-01.png) * 输入:[4,1,6,0,2,5,7,null,null,null,3,null,null,null,8] * 输出:[30,36,21,36,35,26,15,null,null,null,33,null,null,null,8] @@ -69,7 +69,7 @@ 遍历顺序如图所示: -![538.把二叉搜索树转换为累加树](https://code-thinking-1253855093.file.myqcloud.com/pics/20210204153440666.png) +![538.把二叉搜索树转换为累加树](images/0538.把二叉搜索树转换为累加树-02.png) 本题依然需要一个pre指针记录当前遍历节点cur的前一个节点,这样才方便做累加。 diff --git "a/problems/0541.\345\217\215\350\275\254\345\255\227\347\254\246\344\270\262II.md" "b/problems/0541.\345\217\215\350\275\254\345\255\227\347\254\246\344\270\262II.md" index b3e7b02229..d40a78d6b7 100644 --- "a/problems/0541.\345\217\215\350\275\254\345\255\227\347\254\246\344\270\262II.md" +++ "b/problems/0541.\345\217\215\350\275\254\345\255\227\347\254\246\344\270\262II.md" @@ -40,7 +40,7 @@ **所以当需要固定规律一段一段去处理字符串的时候,要想想在for循环的表达式上做做文章。** 性能如下: - + 那么这里具体反转的逻辑我们要不要使用库函数呢,其实用不用都可以,使用reverse来实现反转也没毛病,毕竟不是解题关键部分。 diff --git "a/problems/0583.\344\270\244\344\270\252\345\255\227\347\254\246\344\270\262\347\232\204\345\210\240\351\231\244\346\223\215\344\275\234.md" "b/problems/0583.\344\270\244\344\270\252\345\255\227\347\254\246\344\270\262\347\232\204\345\210\240\351\231\244\346\223\215\344\275\234.md" index b9f9ad9625..165bdb75f9 100644 --- "a/problems/0583.\344\270\244\344\270\252\345\255\227\347\254\246\344\270\262\347\232\204\345\210\240\351\231\244\346\223\215\344\275\234.md" +++ "b/problems/0583.\344\270\244\344\270\252\345\255\227\347\254\246\344\270\262\347\232\204\345\210\240\351\231\244\346\223\215\344\275\234.md" @@ -83,7 +83,7 @@ for (int j = 0; j <= word2.size(); j++) dp[0][j] = j; 以word1:"sea",word2:"eat"为例,推导dp数组状态图如下: -![583.两个字符串的删除操作1](https://code-thinking-1253855093.file.myqcloud.com/pics/20210714101750205.png) +![583.两个字符串的删除操作1](images/0583.两个字符串的删除操作-01.png) 以上分析完毕,代码如下: diff --git "a/problems/0617.\345\220\210\345\271\266\344\272\214\345\217\211\346\240\221.md" "b/problems/0617.\345\220\210\345\271\266\344\272\214\345\217\211\346\240\221.md" index 530350ac69..9cdde3b7cd 100644 --- "a/problems/0617.\345\220\210\345\271\266\344\272\214\345\217\211\346\240\221.md" +++ "b/problems/0617.\345\220\210\345\271\266\344\272\214\345\217\211\346\240\221.md" @@ -15,7 +15,7 @@ 示例 1: -![617.合并二叉树](https://code-thinking-1253855093.file.myqcloud.com/pics/20230310000854.png) +![617.合并二叉树](images/0617.合并二叉树-01.png) 注意: 合并必须从两个树的根节点开始。 @@ -40,7 +40,7 @@ 动画如下: -![617.合并二叉树](https://code-thinking.cdn.bcebos.com/gifs/617.%E5%90%88%E5%B9%B6%E4%BA%8C%E5%8F%89%E6%A0%91.gif) +![617.合并二叉树](images/0617.合并二叉树-02.gif) 那么我们来按照递归三部曲来解决: diff --git "a/problems/0647.\345\233\236\346\226\207\345\255\220\344\270\262.md" "b/problems/0647.\345\233\236\346\226\207\345\255\220\344\270\262.md" index cf32d7ed24..9f5bb0c4c0 100644 --- "a/problems/0647.\345\233\236\346\226\207\345\255\220\344\270\262.md" +++ "b/problems/0647.\345\233\236\346\226\207\345\255\220\344\270\262.md" @@ -50,7 +50,7 @@ dp[i] 和 dp[i-1] ,dp[i + 1] 看上去都没啥关系。 所以我们要看回文串的性质。 如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20230102170752.png) +![](images/0647.回文子串-01.png) 我们在判断字符串S是否是回文,那么如果我们知道 s[1],s[2],s[3] 这个子串是回文的,那么只需要比较 s[0]和s[4]这两个元素是否相同,如果相同的话,这个字符串s 就是回文串。 @@ -108,7 +108,7 @@ dp[i][j]可以初始化为true么? 当然不行,怎能刚开始就全都匹 dp[i + 1][j - 1] 在 dp[i][j]的左下角,如图: -![647.回文子串](https://code-thinking-1253855093.file.myqcloud.com/pics/20210121171032473-20230310132134822.jpg) +![647.回文子串](images/0647.回文子串-02.jpg) 如果这矩阵是从上到下,从左到右遍历,那么会用到没有计算过的dp[i + 1][j - 1],也就是根据不确定是不是回文的区间[i+1,j-1],来判断了[i,j]是不是回文,那结果一定是不对的。 @@ -138,7 +138,7 @@ for (int i = s.size() - 1; i >= 0; i--) { // 注意遍历顺序 举例,输入:"aaa",dp[i][j]状态如下: -![647.回文子串1](https://code-thinking-1253855093.file.myqcloud.com/pics/20210121171059951-20230310132153163.jpg) +![647.回文子串1](images/0647.回文子串-03.jpg) 图中有6个true,所以就是有6个回文子串。 diff --git "a/problems/0654.\346\234\200\345\244\247\344\272\214\345\217\211\346\240\221.md" "b/problems/0654.\346\234\200\345\244\247\344\272\214\345\217\211\346\240\221.md" index fed9b2b991..826eb5e8a2 100644 --- "a/problems/0654.\346\234\200\345\244\247\344\272\214\345\217\211\346\240\221.md" +++ "b/problems/0654.\346\234\200\345\244\247\344\272\214\345\217\211\346\240\221.md" @@ -19,7 +19,7 @@ 示例 : -![654.最大二叉树](https://code-thinking-1253855093.file.myqcloud.com/pics/20210204154534796.png) +![654.最大二叉树](images/0654.最大二叉树-01.png) 提示: @@ -34,7 +34,7 @@ 最大二叉树的构建过程如下: -![654.最大二叉树](https://code-thinking.cdn.bcebos.com/gifs/654.%E6%9C%80%E5%A4%A7%E4%BA%8C%E5%8F%89%E6%A0%91.gif) +![654.最大二叉树](images/0654.最大二叉树-02.gif) 构造树一般采用的是前序遍历,因为先构造中间节点,然后递归构造左子树和右子树。 diff --git "a/problems/0657.\346\234\272\345\231\250\344\272\272\350\203\275\345\220\246\350\277\224\345\233\236\345\216\237\347\202\271.md" "b/problems/0657.\346\234\272\345\231\250\344\272\272\350\203\275\345\220\246\350\277\224\345\233\236\345\216\237\347\202\271.md" index eccfef3a21..1d009a07e2 100644 --- "a/problems/0657.\346\234\272\345\231\250\344\272\272\350\203\275\345\220\246\350\277\224\345\233\236\345\216\237\347\202\271.md" +++ "b/problems/0657.\346\234\272\345\231\250\344\272\272\350\203\275\345\220\246\350\277\224\345\233\236\345\216\237\347\202\271.md" @@ -42,7 +42,7 @@ 最后判断一下x,y是否回到了(0, 0)位置就可以了。 如图所示: - + C++代码如下: diff --git "a/problems/0669.\344\277\256\345\211\252\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221.md" "b/problems/0669.\344\277\256\345\211\252\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221.md" index 325733862c..669761ff61 100644 --- "a/problems/0669.\344\277\256\345\211\252\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221.md" +++ "b/problems/0669.\344\277\256\345\211\252\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221.md" @@ -16,9 +16,9 @@ 给定一个二叉搜索树,同时给定最小边界L 和最大边界 R。通过修剪二叉搜索树,使得所有节点的值在[L, R]中 (R>=L) 。你可能需要改变树的根节点,所以结果应当返回修剪好的二叉搜索树的新的根节点。 -![669.修剪二叉搜索树](https://code-thinking-1253855093.file.myqcloud.com/pics/20201014173115788.png) +![669.修剪二叉搜索树](images/0669.修剪二叉搜索树-01.png) -![669.修剪二叉搜索树1](https://code-thinking-1253855093.file.myqcloud.com/pics/20201014173219142.png) +![669.修剪二叉搜索树1](images/0669.修剪二叉搜索树-02.png) ## 算法公开课 @@ -52,7 +52,7 @@ public: 我们在重新关注一下第二个示例,如图: -![669.修剪二叉搜索树](https://code-thinking-1253855093.file.myqcloud.com/pics/20210204155302751.png) +![669.修剪二叉搜索树](images/0669.修剪二叉搜索树-03.png) **所以以上的代码是不可行的!** @@ -62,7 +62,7 @@ public: 在上图中我们发现节点0并不符合区间要求,那么将节点0的右孩子 节点2 直接赋给 节点3的左孩子就可以了(就是把节点0从二叉树中移除),如图: -![669.修剪二叉搜索树1](https://code-thinking-1253855093.file.myqcloud.com/pics/20210204155327203.png) +![669.修剪二叉搜索树1](images/0669.修剪二叉搜索树-04.png) 理解了最关键部分了我们再递归三部曲: @@ -129,7 +129,7 @@ return root; 在回顾一下上面的代码,针对下图中二叉树的情况: -![669.修剪二叉搜索树1](https://code-thinking-1253855093.file.myqcloud.com/pics/20210204155327203-20230310120126738.png) +![669.修剪二叉搜索树1](images/0669.修剪二叉搜索树-05.png) 如下代码相当于把节点0的右孩子(节点2)返回给上一层, diff --git "a/problems/0673.\346\234\200\351\225\277\351\200\222\345\242\236\345\255\220\345\272\217\345\210\227\347\232\204\344\270\252\346\225\260.md" "b/problems/0673.\346\234\200\351\225\277\351\200\222\345\242\236\345\255\220\345\272\217\345\210\227\347\232\204\344\270\252\346\225\260.md" index 0366ee8063..123dc8c671 100644 --- "a/problems/0673.\346\234\200\351\225\277\351\200\222\345\242\236\345\255\220\345\272\217\345\210\227\347\232\204\344\270\252\346\225\260.md" +++ "b/problems/0673.\346\234\200\351\225\277\351\200\222\345\242\236\345\255\220\345\272\217\345\210\227\347\232\204\344\270\252\346\225\260.md" @@ -180,7 +180,7 @@ for (int i = 0; i < nums.size(); i++) { 输入:[1,3,5,4,7] -![673.最长递增子序列的个数](https://code-thinking-1253855093.file.myqcloud.com/pics/20230310000656.png) +![673.最长递增子序列的个数](images/0673.最长递增子序列的个数-01.png) **如果代码写出来了,怎么改都通过不了,那么把dp和count打印出来看看对不对!** diff --git "a/problems/0674.\346\234\200\351\225\277\350\277\236\347\273\255\351\200\222\345\242\236\345\272\217\345\210\227.md" "b/problems/0674.\346\234\200\351\225\277\350\277\236\347\273\255\351\200\222\345\242\236\345\272\217\345\210\227.md" index 8b967092bc..6bc1f621f2 100644 --- "a/problems/0674.\346\234\200\351\225\277\350\277\236\347\273\255\351\200\222\345\242\236\345\272\217\345\210\227.md" +++ "b/problems/0674.\346\234\200\351\225\277\350\277\236\347\273\255\351\200\222\345\242\236\345\272\217\345\210\227.md" @@ -87,7 +87,7 @@ for (int i = 1; i < nums.size(); i++) { 已输入nums = [1,3,5,4,7]为例,dp数组状态如下: -![674.最长连续递增序列](https://code-thinking-1253855093.file.myqcloud.com/pics/20210204103529742.jpg) +![674.最长连续递增序列](images/0674.最长连续递增序列-01.jpg) **注意这里要取dp[i]里的最大值,所以dp[2]才是结果!** diff --git "a/problems/0684.\345\206\227\344\275\231\350\277\236\346\216\245.md" "b/problems/0684.\345\206\227\344\275\231\350\277\236\346\216\245.md" index 7808549036..d63d613cc3 100644 --- "a/problems/0684.\345\206\227\344\275\231\350\277\236\346\216\245.md" +++ "b/problems/0684.\345\206\227\344\275\231\350\277\236\346\216\245.md" @@ -14,7 +14,7 @@ 请找出一条可以删去的边,删除后可使得剩余部分是一个有着 n 个节点的树。如果有多个答案,则返回数组 edges 中最后出现的边。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20210727150215.png) +![](images/0684.冗余连接-01.png) 提示: * n == edges.length @@ -87,7 +87,7 @@ void join(int u, int v) { 如图所示: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20230604104720.png) +![](images/0684.冗余连接-02.png) 节点A 和节点 B 不在同一个集合,那么就可以将两个 节点连在一起。 @@ -97,7 +97,7 @@ void join(int u, int v) { 如图所示: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20230604104330.png) +![](images/0684.冗余连接-03.png) 已经判断 节点A 和 节点B 在在同一个集合(同一个根),如果将 节点A 和 节点B 连在一起就一定会出现环。 diff --git "a/problems/0685.\345\206\227\344\275\231\350\277\236\346\216\245II.md" "b/problems/0685.\345\206\227\344\275\231\350\277\236\346\216\245II.md" index 3f489d82b7..3eb697a918 100644 --- "a/problems/0685.\345\206\227\344\275\231\350\277\236\346\216\245II.md" +++ "b/problems/0685.\345\206\227\344\275\231\350\277\236\346\216\245II.md" @@ -18,9 +18,9 @@ 返回一条能删除的边,使得剩下的图是有 n 个节点的有根树。若有多个答案,返回最后出现在给定二维数组的答案。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20210727151057.png) +![](images/0685.冗余连接II-01.png) -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20210727151118.png) +![](images/0685.冗余连接II-02.png) 提示: @@ -40,7 +40,7 @@ 那么有如下三种情况,前两种情况是出现入度为2的点,如图: - + 且只有一个节点入度为2,为什么不看出度呢,出度没有意义,一棵树中随便一个父节点就有多个出度。 @@ -48,7 +48,7 @@ 如图: - + 首先先计算节点的入度,这里不少录友在计算入度的时候就搞蒙了,分不清 edges[i][j] 表示的都是什么。 diff --git "a/problems/0695.\345\262\233\345\261\277\347\232\204\346\234\200\345\244\247\351\235\242\347\247\257.md" "b/problems/0695.\345\262\233\345\261\277\347\232\204\346\234\200\345\244\247\351\235\242\347\247\257.md" index ca70420687..b3d6d9f0bd 100644 --- "a/problems/0695.\345\262\233\345\261\277\347\232\204\346\234\200\345\244\247\351\235\242\347\247\257.md" +++ "b/problems/0695.\345\262\233\345\261\277\347\232\204\346\234\200\345\244\247\351\235\242\347\247\257.md" @@ -16,7 +16,7 @@ 计算并返回 grid 中最大的岛屿面积。如果没有岛屿,则返回面积为 0 。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20220729111528.png) +![](images/0695.岛屿的最大面积-01.png) * 输入:grid = [[0,0,1,0,0,0,0,1,0,0,0,0,0],[0,0,0,0,0,0,0,1,1,1,0,0,0],[0,1,1,0,1,0,0,0,0,0,0,0,0],[0,1,0,0,1,1,0,0,1,0,1,0,0],[0,1,0,0,1,1,0,0,1,1,1,0,0],[0,0,0,0,0,0,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,1,1,1,0,0,0],[0,0,0,0,0,0,0,1,1,0,0,0,0]] * 输出:6 @@ -29,7 +29,7 @@ 也就是说斜角度链接是不算了, 例如示例二,是三个岛屿,如图: -![图一](https://code-thinking-1253855093.file.myqcloud.com/pics/20220726094200.png) +![图一](images/0695.岛屿的最大面积-02.png) 这道题目也是 dfs bfs基础类题目,就是搜索每个岛屿上“1”的数量,然后取一个最大的。 diff --git "a/problems/0700.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\346\220\234\347\264\242.md" "b/problems/0700.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\346\220\234\347\264\242.md" index 9ec51524b8..00e3277753 100644 --- "a/problems/0700.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\346\220\234\347\264\242.md" +++ "b/problems/0700.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\346\220\234\347\264\242.md" @@ -14,7 +14,7 @@ 例如, -![700.二叉搜索树中的搜索](https://code-thinking-1253855093.file.myqcloud.com/pics/20210204155522476.png) +![700.二叉搜索树中的搜索](images/0700.二叉搜索树中的搜索-01.png) 在上述示例中,如果要找的值是 5,但因为没有节点值为 5,我们应该返回 NULL。 @@ -126,7 +126,7 @@ public: 中间节点如果大于3就向左走,如果小于3就向右走,如图: -![二叉搜索树](https://code-thinking-1253855093.file.myqcloud.com/pics/20200812190213280.png) +![二叉搜索树](images/0700.二叉搜索树中的搜索-02.png) 所以迭代法代码如下: diff --git "a/problems/0701.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\346\217\222\345\205\245\346\223\215\344\275\234.md" "b/problems/0701.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\346\217\222\345\205\245\346\223\215\344\275\234.md" index 25d39486f3..20ad41367a 100644 --- "a/problems/0701.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\346\217\222\345\205\245\346\223\215\344\275\234.md" +++ "b/problems/0701.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\346\217\222\345\205\245\346\223\215\344\275\234.md" @@ -14,7 +14,7 @@ 注意,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索树即可。 你可以返回任意有效的结果。 -![701.二叉搜索树中的插入操作](https://code-thinking-1253855093.file.myqcloud.com/pics/20201019173259554.png) +![701.二叉搜索树中的插入操作](images/0701.二叉搜索树中的插入操作-01.png) 提示: @@ -35,7 +35,7 @@ 如下演示视频中可以看出:只要按照二叉搜索树的规则去遍历,遇到空节点就插入节点就可以了。 -![701.二叉搜索树中的插入操作](https://code-thinking.cdn.bcebos.com/gifs/701.%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91%E4%B8%AD%E7%9A%84%E6%8F%92%E5%85%A5%E6%93%8D%E4%BD%9C.gif) +![701.二叉搜索树中的插入操作](images/0701.二叉搜索树中的插入操作-02.gif) 例如插入元素10 ,需要找到末尾节点插入便可,一样的道理来插入元素15,插入元素0,插入元素6,**需要调整二叉树的结构么? 并不需要。**。 diff --git "a/problems/0704.\344\272\214\345\210\206\346\237\245\346\211\276.md" "b/problems/0704.\344\272\214\345\210\206\346\237\245\346\211\276.md" index d86146d63a..be7afe30f6 100644 --- "a/problems/0704.\344\272\214\345\210\206\346\237\245\346\211\276.md" +++ "b/problems/0704.\344\272\214\345\210\206\346\237\245\346\211\276.md" @@ -61,7 +61,7 @@ 例如在数组:1,2,3,4,7,9,10中查找元素2,如图所示: -![704.二分查找](https://code-thinking-1253855093.file.myqcloud.com/pics/20210311153055723.jpg) +![704.二分查找](images/0704.二分查找-01.jpg) 代码如下:(详细注释) @@ -104,7 +104,7 @@ public: 在数组:1,2,3,4,7,9,10中查找元素2,如图所示:(**注意和方法一的区别**) -![704.二分查找1](https://code-thinking-1253855093.file.myqcloud.com/pics/20210311153123632.jpg) +![704.二分查找1](images/0704.二分查找-02.jpg) 代码如下:(详细注释) diff --git "a/problems/0707.\350\256\276\350\256\241\351\223\276\350\241\250.md" "b/problems/0707.\350\256\276\350\256\241\351\223\276\350\241\250.md" index 5c72b05a29..b8b6b01fff 100644 --- "a/problems/0707.\350\256\276\350\256\241\351\223\276\350\241\250.md" +++ "b/problems/0707.\350\256\276\350\256\241\351\223\276\350\241\250.md" @@ -22,7 +22,7 @@ * deleteAtIndex(index):如果索引 index 有效,则删除链表中的第 index 个节点。 -![707示例](https://code-thinking-1253855093.file.myqcloud.com/pics/20200814200558953.png) +![707示例](images/0707.设计链表-01.png) ## 算法公开课 @@ -37,10 +37,10 @@ 如果对链表的虚拟头结点不清楚,可以看这篇文章:[链表:听说用虚拟头节点会方便很多?](https://programmercarl.com/0203.移除链表元素.html) 删除链表节点: -![链表-删除节点](https://code-thinking-1253855093.file.myqcloud.com/pics/20200806195114541.png) +![链表-删除节点](images/0707.设计链表-02.png) 添加链表节点: -![链表-添加节点](https://code-thinking-1253855093.file.myqcloud.com/pics/20200806195134331.png) +![链表-添加节点](images/0707.设计链表-03.png) 这道题目设计链表的五个接口: * 获取链表第index个节点的数值 diff --git "a/problems/0718.\346\234\200\351\225\277\351\207\215\345\244\215\345\255\220\346\225\260\347\273\204.md" "b/problems/0718.\346\234\200\351\225\277\351\207\215\345\244\215\345\255\220\346\225\260\347\273\204.md" index 1391926a76..c8f1076249 100644 --- "a/problems/0718.\346\234\200\351\225\277\351\207\215\345\244\215\345\255\220\346\225\260\347\273\204.md" +++ "b/problems/0718.\346\234\200\351\225\277\351\207\215\345\244\215\345\255\220\346\225\260\347\273\204.md" @@ -97,7 +97,7 @@ for (int i = 1; i <= nums1.size(); i++) { 拿示例1中,A: [1,2,3,2,1],B: [3,2,1,4,7]为例,画一个dp数组的状态变化,如下: -![718.最长重复子数组](https://code-thinking-1253855093.file.myqcloud.com/pics/2021011215282060.jpg) +![718.最长重复子数组](images/0718.最长重复子数组-01.jpg) 以上五部曲分析完毕,C++代码如下: @@ -129,7 +129,7 @@ public: 在如下图中: -![718.最长重复子数组](https://code-thinking-1253855093.file.myqcloud.com/pics/2021011215282060-20230310134554486.jpg) +![718.最长重复子数组](images/0718.最长重复子数组-02.jpg) 我们可以看出dp[i][j]都是由dp[i - 1][j - 1]推出。那么压缩为一维数组,也就是dp[j]都是由dp[j - 1]推出。 diff --git "a/problems/0739.\346\257\217\346\227\245\346\270\251\345\272\246.md" "b/problems/0739.\346\257\217\346\227\245\346\270\251\345\272\246.md" index dd633aed9a..a93113ce07 100644 --- "a/problems/0739.\346\257\217\346\227\245\346\270\251\345\272\246.md" +++ "b/problems/0739.\346\257\217\346\227\245\346\270\251\345\272\246.md" @@ -71,7 +71,7 @@ 首先先将第一个遍历元素加入单调栈 -![739.每日温度1](https://code-thinking-1253855093.file.myqcloud.com/pics/20210219124434172.jpg) +![739.每日温度1](images/0739.每日温度-01.jpg) --------- @@ -79,65 +79,65 @@ 我们要保持一个递增单调栈(从栈头到栈底),所以将T[0]弹出,T[1]加入,此时result数组可以记录了,result[0] = 1,即T[0]右面第一个比T[0]大的元素是T[1]。 -![739.每日温度2](https://code-thinking-1253855093.file.myqcloud.com/pics/20210219124504299.jpg) +![739.每日温度2](images/0739.每日温度-02.jpg) ----------- 加入T[2],同理,T[1]弹出 -![739.每日温度3](https://code-thinking-1253855093.file.myqcloud.com/pics/20210219124527361.jpg) +![739.每日温度3](images/0739.每日温度-03.jpg) ------- 加入T[3],T[3] < T[2] (当前遍历的元素T[i]小于栈顶元素T[st.top()]的情况),加T[3]加入单调栈。 -![739.每日温度4](https://code-thinking-1253855093.file.myqcloud.com/pics/20210219124610761.jpg) +![739.每日温度4](images/0739.每日温度-04.jpg) --------- 加入T[4],T[4] == T[3] (当前遍历的元素T[i]等于栈顶元素T[st.top()]的情况),此时依然要加入栈,不用计算距离,因为我们要求的是右面第一个大于本元素的位置,而不是大于等于! -![739.每日温度5](https://code-thinking-1253855093.file.myqcloud.com/pics/20210219124633444.jpg) +![739.每日温度5](images/0739.每日温度-05.jpg) --------- 加入T[5],T[5] > T[4] (当前遍历的元素T[i]大于栈顶元素T[st.top()]的情况),将T[4]弹出,同时计算距离,更新result -![739.每日温度6](https://code-thinking-1253855093.file.myqcloud.com/pics/20210219124700567.jpg) +![739.每日温度6](images/0739.每日温度-06.jpg) ---------- T[4]弹出之后, T[5] > T[3] (当前遍历的元素T[i]大于栈顶元素T[st.top()]的情况),将T[3]继续弹出,同时计算距离,更新result -![739.每日温度7](https://code-thinking-1253855093.file.myqcloud.com/pics/20210219124726613.jpg) +![739.每日温度7](images/0739.每日温度-07.jpg) ------- 直到发现T[5]小于T[st.top()],终止弹出,将T[5]加入单调栈 -![739.每日温度8](https://code-thinking-1253855093.file.myqcloud.com/pics/20210219124807715.jpg) +![739.每日温度8](images/0739.每日温度-08.jpg) ------- 加入T[6],同理,需要将栈里的T[5],T[2]弹出 -![739.每日温度9](https://code-thinking-1253855093.file.myqcloud.com/pics/2021021912483374.jpg) +![739.每日温度9](images/0739.每日温度-09.jpg) ------- 同理,继续弹出 -![739.每日温度10](https://code-thinking-1253855093.file.myqcloud.com/pics/2021021912490098.jpg) +![739.每日温度10](images/0739.每日温度-10.jpg) ------ 此时栈里只剩下了T[6] -![739.每日温度11](https://code-thinking-1253855093.file.myqcloud.com/pics/20210219124930156.jpg) +![739.每日温度11](images/0739.每日温度-11.jpg) ------------ 加入T[7], T[7] < T[6] 直接入栈,这就是最后的情况,result数组也更新完了。 -![739.每日温度12](https://code-thinking-1253855093.file.myqcloud.com/pics/20210219124957216.jpg) +![739.每日温度12](images/0739.每日温度-12.jpg) 此时有同学可能就疑惑了,那result[6] , result[7]怎么没更新啊,元素也一直在栈里。 diff --git "a/problems/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264.md" "b/problems/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264.md" index e631951a9e..e719243a2a 100644 --- "a/problems/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264.md" +++ "b/problems/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264.md" @@ -10,7 +10,7 @@ https://leetcode.cn/problems/network-delay-time/description/ 现在,从某个节点 K 发出一个信号。需要多久才能使所有节点都收到信号?如果不能使所有节点收到信号,返回 -1 。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240229104105.png) +![](images/0743.网络延迟时间-01.png) 提示: @@ -39,7 +39,7 @@ dijkstra算法:在有权图(权值非负数)中求从起点到其他节点 如本题示例中的图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240125162647.png) +![](images/0743.网络延迟时间-02.png) 起点(节点1)到终点(节点7) 的最短路径是 图中 标记绿线的部分。 @@ -85,7 +85,7 @@ minDist数组数值初始化为int最大值。 这里在强点一下 **minDist数组的含义:记录所有节点到源点的最短路径**,那么初始化的时候就应该初始为最大值,这样才能在后续出现最短路径的时候及时更新。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240130115306.png) +![](images/0743.网络延迟时间-03.png) (图中,max 表示默认值,节点0 不做处理,统一从下标1 开始计算,这样下标和节点数值统一, 方便大家理解,避免搞混) @@ -107,7 +107,7 @@ minDist数组数值初始化为int最大值。 3、更新非访问节点到源点的距离(即更新minDist数组) ,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240130115421.png) +![](images/0743.网络延迟时间-04.png) 更新 minDist数组,即:源点(节点1) 到 节点2 和 节点3的距离。 @@ -133,7 +133,7 @@ minDist数组数值初始化为int最大值。 3、更新非访问节点到源点的距离(即更新minDist数组) ,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240130121240.png) +![](images/0743.网络延迟时间-05.png) 更新 minDist数组,即:源点(节点1) 到 节点6 、 节点3 和 节点4的距离。 @@ -167,7 +167,7 @@ minDist数组数值初始化为int最大值。 3、更新非访问节点到源点的距离(即更新minDist数组) ,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240130120434.png) +![](images/0743.网络延迟时间-06.png) 由于节点3的加入,那么源点可以有新的路径链接到节点4 所以更新minDist数组: @@ -187,7 +187,7 @@ minDist数组数值初始化为int最大值。 3、更新非访问节点到源点的距离(即更新minDist数组) ,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240201105335.png) +![](images/0743.网络延迟时间-07.png) 由于节点4的加入,那么源点可以链接到节点5 所以更新minDist数组: @@ -207,7 +207,7 @@ minDist数组数值初始化为int最大值。 3、更新非访问节点到源点的距离(即更新minDist数组) ,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240201110250.png) +![](images/0743.网络延迟时间-08.png) 由于节点6的加入,那么源点可以链接到节点7 所以 更新minDist数组: @@ -227,7 +227,7 @@ minDist数组数值初始化为int最大值。 3、更新非访问节点到源点的距离(即更新minDist数组) ,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240201110651.png) +![](images/0743.网络延迟时间-09.png) 由于节点5的加入,那么源点有新的路径可以链接到节点7 所以 更新minDist数组: @@ -245,7 +245,7 @@ minDist数组数值初始化为int最大值。 3、更新非访问节点到源点的距离(即更新minDist数组) ,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240201110920.png) +![](images/0743.网络延迟时间-10.png) 节点7加入,但节点7到节点7的距离为0,所以 不用更新minDist数组 @@ -259,7 +259,7 @@ minDist数组数值初始化为int最大值。 路径如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240201111352.png) +![](images/0743.网络延迟时间-11.png) 在上面的讲解中,每一步 我都是按照 dijkstra 三部曲来讲解的,理解了这三部曲,代码也就好懂的。 @@ -428,7 +428,7 @@ select:4 看一下这个图: (有负权值) -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240227104334.png) +![](images/0743.网络延迟时间-12.png) 节点1 到 节点5 的最短路径 应该是 节点1 -> 节点2 -> 节点3 -> 节点4 -> 节点5 @@ -438,7 +438,7 @@ select:4 初始化: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240227104801.png) +![](images/0743.网络延迟时间-13.png) --------------- @@ -452,7 +452,7 @@ select:4 3、更新非访问节点到源点的距离(即更新minDist数组) ,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240227110217.png) +![](images/0743.网络延迟时间-14.png) 更新 minDist数组,即:源点(节点1) 到 节点2 和 节点3的距离。 @@ -471,7 +471,7 @@ select:4 3、更新非访问节点到源点的距离(即更新minDist数组) ,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240227110330.png) +![](images/0743.网络延迟时间-15.png) 由于节点3的加入,那么源点可以有新的路径链接到节点4 所以更新minDist数组: @@ -489,7 +489,7 @@ select:4 3、更新非访问节点到源点的距离(即更新minDist数组) ,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240227110346.png) +![](images/0743.网络延迟时间-16.png) 由于节点4的加入,那么源点可以有新的路径链接到节点5 所以更新minDist数组: @@ -507,7 +507,7 @@ select:4 3、更新非访问节点到源点的距离(即更新minDist数组) ,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240227110405.png) +![](images/0743.网络延迟时间-17.png) 节点5的加入,而节点5 没有链接其他节点, 所以不用更新minDist数组,仅标记节点5被访问过了 @@ -523,7 +523,7 @@ select:4 3、更新非访问节点到源点的距离(即更新minDist数组) ,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240227110711.png) +![](images/0743.网络延迟时间-18.png) -------------- @@ -651,7 +651,7 @@ for (int v = 1; v <= n; v++) { 如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240222110025.png) +![](images/0743.网络延迟时间-19.png) 在一个 n (节点数)为8 的图中,就需要申请 8 * 8 这么大的空间,有一条双向边,即:grid[2][5] = 6,grid[5][2] = 6 @@ -675,7 +675,7 @@ for (int v = 1; v <= n; v++) { 邻接表的构造如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240223103713.png) +![](images/0743.网络延迟时间-20.png) 这里表达的图是: @@ -760,7 +760,7 @@ vector> grid(n + 1); 不少录友,不知道 如何定义的数据结构,怎么表示邻接表的,我来给大家画一个图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240223103713.png) +![](images/0743.网络延迟时间-21.png) 图中邻接表表示: @@ -781,7 +781,7 @@ vector>> grid(n + 1); 举例来给大家展示 该代码表达的数据 如下: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240223103904.png) +![](images/0743.网络延迟时间-22.png) * 节点1 指向 节点3 权值为 1 * 节点1 指向 节点5 权值为 2 @@ -904,7 +904,7 @@ for (int v = 1; v <= n; v++) { 再回顾一下邻接表的构造(数组 + 链表): -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240223103713.png) +![](images/0743.网络延迟时间-23.png) 假如 加入的cur 是节点 2, 那么 grid[2] 表示的就是图中第二行链表。 (grid数组的构造我们在 上面 「图的存储」中讲过) diff --git "a/problems/0746.\344\275\277\347\224\250\346\234\200\345\260\217\350\212\261\350\264\271\347\210\254\346\245\274\346\242\257.md" "b/problems/0746.\344\275\277\347\224\250\346\234\200\345\260\217\350\212\261\350\264\271\347\210\254\346\245\274\346\242\257.md" index 753a104d97..fc820b44b4 100644 --- "a/problems/0746.\344\275\277\347\224\250\346\234\200\345\260\217\350\212\261\350\264\271\347\210\254\346\245\274\346\242\257.md" +++ "b/problems/0746.\344\275\277\347\224\250\346\234\200\345\260\217\350\212\261\350\264\271\347\210\254\346\245\274\346\242\257.md" @@ -54,7 +54,7 @@ 请你计算并返回达到楼梯顶部的最低花费。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20221031170131.png) +![](images/0746.使用最小花费爬楼梯-01.png) ## 思路 @@ -114,7 +114,7 @@ dp[i - 2] 跳到 dp[i] 需要花费 dp[i - 2] + cost[i - 2]。 拿示例2:cost = [1, 100, 1, 1, 1, 100, 1, 1, 100, 1] ,来模拟一下dp数组的状态变化,如下: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20221026175104.png) +![](images/0746.使用最小花费爬楼梯-02.png) 如果大家代码写出来有问题,就把dp数组打印出来,看看和如上推导的是不是一样的。 diff --git "a/problems/0763.\345\210\222\345\210\206\345\255\227\346\257\215\345\214\272\351\227\264.md" "b/problems/0763.\345\210\222\345\210\206\345\255\227\346\257\215\345\214\272\351\227\264.md" index 19d862db14..c1a0731f67 100644 --- "a/problems/0763.\345\210\222\345\210\206\345\255\227\346\257\215\345\214\272\351\227\264.md" +++ "b/problems/0763.\345\210\222\345\210\206\345\255\227\346\257\215\345\214\272\351\227\264.md" @@ -46,7 +46,7 @@ 如图: -![763.划分字母区间](https://code-thinking-1253855093.file.myqcloud.com/pics/20201222191924417.png) +![763.划分字母区间](images/0763.划分字母区间-01.png) 明白原理之后,代码并不复杂,如下: diff --git "a/problems/0787.K\347\253\231\344\270\255\350\275\254\345\206\205\346\234\200\344\276\277\345\256\234\347\232\204\350\210\252\347\217\255.md" "b/problems/0787.K\347\253\231\344\270\255\350\275\254\345\206\205\346\234\200\344\276\277\345\256\234\347\232\204\350\210\252\347\217\255.md" index 9c0a8e7f27..7b364f95fc 100644 --- "a/problems/0787.K\347\253\231\344\270\255\350\275\254\345\206\205\346\234\200\344\276\277\345\256\234\347\232\204\350\210\252\347\217\255.md" +++ "b/problems/0787.K\347\253\231\344\270\255\350\275\254\345\206\205\346\234\200\344\276\277\345\256\234\347\232\204\350\210\252\347\217\255.md" @@ -11,11 +11,11 @@ 现在给定所有的城市和航班,以及出发城市 src 和目的地 dst,你的任务是找到出一条最多经过 k 站中转的路线,使得从 src 到 dst 的 价格最便宜 ,并返回该价格。 如果不存在这样的路线,则输出 -1。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240319103900.png) +![](images/0787.K站中转内最便宜的航班-01.png) -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240319103919.png) +![](images/0787.K站中转内最便宜的航班-02.png) -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240319104026.png) +![](images/0787.K站中转内最便宜的航班-03.png) ## 思路 diff --git "a/problems/0797.\346\211\200\346\234\211\345\217\257\350\203\275\347\232\204\350\267\257\345\276\204.md" "b/problems/0797.\346\211\200\346\234\211\345\217\257\350\203\275\347\232\204\350\267\257\345\276\204.md" index 40e1bbe73e..287f06b64e 100644 --- "a/problems/0797.\346\211\200\346\234\211\345\217\257\350\203\275\347\232\204\350\267\257\345\276\204.md" +++ "b/problems/0797.\346\211\200\346\234\211\345\217\257\350\203\275\347\232\204\350\267\257\345\276\204.md" @@ -13,7 +13,7 @@ graph[i] 是一个从节点 i 可以访问的所有节点的列表(即从节点 i 到节点 graph[i][j]存在一条有向边)。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20221203135439.png) +![](images/0797.所有可能的路径-01.png) 提示: @@ -98,7 +98,7 @@ path.push_back(graph[x][i]); // 遍历到的节点加入到路径中来 一些录友可以疑惑这里如果找到x 链接的节点的,例如如果x目前是节点0,那么目前的过程就是这样的: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20221204111937.png) +![](images/0797.所有可能的路径-02.png) 二维数组中,graph[x][i] 都是x链接的节点,当前遍历的节点就是 `graph[x][i]` 。 diff --git "a/problems/0827.\346\234\200\345\244\247\344\272\272\345\267\245\345\262\233.md" "b/problems/0827.\346\234\200\345\244\247\344\272\272\345\267\245\345\262\233.md" index d24eaacc50..df6e2a752b 100644 --- "a/problems/0827.\346\234\200\345\244\247\344\272\272\345\267\245\345\262\233.md" +++ "b/problems/0827.\346\234\200\345\244\247\344\272\272\345\267\245\345\262\233.md" @@ -53,11 +53,11 @@ 拿如下地图的岛屿情况来举例: (1为陆地) -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20220829104834.png) +![](images/0827.最大人工岛-01.png) 第一步,则遍历题目,并将岛屿到编号和面积上的统计,过程如图所示: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20220829105644.png) +![](images/0827.最大人工岛-02.png) 本过程代码如下: @@ -104,7 +104,7 @@ int largestIsland(vector>& grid) { 第二步过程如图所示: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20220829105249.png) +![](images/0827.最大人工岛-03.png) 也就是遍历每一个0的方格,并统计其相邻岛屿面积,最后取一个最大值。 diff --git "a/problems/0841.\351\222\245\345\214\231\345\222\214\346\210\277\351\227\264.md" "b/problems/0841.\351\222\245\345\214\231\345\222\214\346\210\277\351\227\264.md" index b78693b446..db538348d4 100644 --- "a/problems/0841.\351\222\245\345\214\231\345\222\214\346\210\277\351\227\264.md" +++ "b/problems/0841.\351\222\245\345\214\231\345\222\214\346\210\277\351\227\264.md" @@ -37,7 +37,7 @@ 图中给我的两个示例: `[[1],[2],[3],[]]` `[[1,3],[3,0,1],[2],[0]]`,画成对应的图如下: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20220714101414.png) +![](images/0841.钥匙和房间-01.png) 我们可以看出图1的所有节点都是链接的,而图二中,节点2 是孤立的。 @@ -50,7 +50,7 @@ 图3:[[5], [], [1, 3], [5]] ,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20220714102201.png) +![](images/0841.钥匙和房间-02.png) 在图3中,大家可以发现,节点0只能到节点5,然后就哪也去不了了。 diff --git "a/problems/0844.\346\257\224\350\276\203\345\220\253\351\200\200\346\240\274\347\232\204\345\255\227\347\254\246\344\270\262.md" "b/problems/0844.\346\257\224\350\276\203\345\220\253\351\200\200\346\240\274\347\232\204\345\255\227\347\254\246\344\270\262.md" index c32cdd339b..58f506138c 100644 --- "a/problems/0844.\346\257\224\350\276\203\345\220\253\351\200\200\346\240\274\347\232\204\345\255\227\347\254\246\344\270\262.md" +++ "b/problems/0844.\346\257\224\350\276\203\345\220\253\351\200\200\346\240\274\347\232\204\345\255\227\347\254\246\344\270\262.md" @@ -108,7 +108,7 @@ public: 动画如下: - + 如果S[i]和S[j]不相同返回false,如果有一个指针(i或者j)先走到的字符串头部位置,也返回false。 diff --git "a/problems/0925.\351\225\277\346\214\211\351\224\256\345\205\245.md" "b/problems/0925.\351\225\277\346\214\211\351\224\256\345\205\245.md" index f4a8fa8e52..46c988f1f7 100644 --- "a/problems/0925.\351\225\277\346\214\211\351\224\256\345\205\245.md" +++ "b/problems/0925.\351\225\277\346\214\211\351\224\256\345\205\245.md" @@ -54,7 +54,7 @@ 动画如下: - + 上面的逻辑想清楚了,不难写出如下C++代码: diff --git "a/problems/0941.\346\234\211\346\225\210\347\232\204\345\261\261\350\204\211\346\225\260\347\273\204.md" "b/problems/0941.\346\234\211\346\225\210\347\232\204\345\261\261\350\204\211\346\225\260\347\273\204.md" index 77167df041..b9baa69e4f 100644 --- "a/problems/0941.\346\234\211\346\225\210\347\232\204\345\261\261\350\204\211\346\225\260\347\273\204.md" +++ "b/problems/0941.\346\234\211\346\225\210\347\232\204\345\261\261\350\204\211\346\225\260\347\273\204.md" @@ -18,7 +18,7 @@ * arr[0] < arr[1] < ... arr[i-1] < arr[i] * arr[i] > arr[i+1] > ... > arr[arr.length - 1] -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20210729103604.png) +![](images/0941.有效的山脉数组-01.png) 示例 1: * 输入:arr = [2,1] @@ -39,7 +39,7 @@ 这样可以使用两个指针,left和right,让其按照如下规则移动,如图: - + **注意这里还是有一些细节,例如如下两点:** diff --git "a/problems/0968.\347\233\221\346\216\247\344\272\214\345\217\211\346\240\221.md" "b/problems/0968.\347\233\221\346\216\247\344\272\214\345\217\211\346\240\221.md" index 327c54f72a..5793f3dced 100644 --- "a/problems/0968.\347\233\221\346\216\247\344\272\214\345\217\211\346\240\221.md" +++ "b/problems/0968.\347\233\221\346\216\247\344\272\214\345\217\211\346\240\221.md" @@ -19,7 +19,7 @@ 示例 1: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20201229175736596.png) +![](images/0968.监控二叉树-01.png) * 输入:[0,0,null,0,0] * 输出:1 @@ -27,7 +27,7 @@ 示例 2: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/2020122917584449.png) +![](images/0968.监控二叉树-02.png) * 输入:[0,0,null,0,null,0,null,null,0] * 输出:2 @@ -145,7 +145,7 @@ if (cur == NULL) return 2; 如图: -![968.监控二叉树2](https://code-thinking-1253855093.file.myqcloud.com/pics/20201229203710729.png) +![968.监控二叉树2](images/0968.监控二叉树-03.png) 代码如下: @@ -193,7 +193,7 @@ if (left == 1 || right == 1) return 2; **从这个代码中,可以看出,如果left == 1, right == 0 怎么办?其实这种条件在情况2中已经判断过了**,如图: -![968.监控二叉树1](https://code-thinking-1253855093.file.myqcloud.com/pics/2020122920362355.png) +![968.监控二叉树1](images/0968.监控二叉树-04.png) 这种情况也是大多数同学容易迷惑的情况。 @@ -201,7 +201,7 @@ if (left == 1 || right == 1) return 2; 以上都处理完了,递归结束之后,可能头结点 还有一个无覆盖的情况,如图: -![968.监控二叉树3](https://code-thinking-1253855093.file.myqcloud.com/pics/20201229203742446.png) +![968.监控二叉树3](images/0968.监控二叉树-05.png) 所以递归结束之后,还要判断根节点,如果没有覆盖,result++,代码如下: diff --git "a/problems/0977.\346\234\211\345\272\217\346\225\260\347\273\204\347\232\204\345\271\263\346\226\271.md" "b/problems/0977.\346\234\211\345\272\217\346\225\260\347\273\204\347\232\204\345\271\263\346\226\271.md" index b8488e10de..1a76e574ce 100644 --- "a/problems/0977.\346\234\211\345\272\217\346\225\260\347\273\204\347\232\204\345\271\263\346\226\271.md" +++ "b/problems/0977.\346\234\211\345\272\217\346\225\260\347\273\204\347\232\204\345\271\263\346\226\271.md" @@ -63,7 +63,7 @@ public: 如动画所示: -![](https://code-thinking.cdn.bcebos.com/gifs/977.有序数组的平方.gif) +![](images/0977.有序数组的平方-01.gif) 不难写出如下代码: diff --git "a/problems/1002.\346\237\245\346\211\276\345\270\270\347\224\250\345\255\227\347\254\246.md" "b/problems/1002.\346\237\245\346\211\276\345\270\270\347\224\250\345\255\227\347\254\246.md" index f938c2b734..33bc628e17 100644 --- "a/problems/1002.\346\237\245\346\211\276\345\270\270\347\224\250\345\255\227\347\254\246.md" +++ "b/problems/1002.\346\237\245\346\211\276\345\270\270\347\224\250\345\255\227\347\254\246.md" @@ -55,7 +55,7 @@ words[i] 由小写英文字母组成 如图: -![1002.查找常用字符](https://code-thinking.cdn.bcebos.com/pics/1002.查找常用字符.png) +![1002.查找常用字符](images/1002.查找常用字符-01.png) 先统计第一个字符串所有字符出现的次数,代码如下: diff --git "a/problems/1020.\351\243\236\345\234\260\347\232\204\346\225\260\351\207\217.md" "b/problems/1020.\351\243\236\345\234\260\347\232\204\346\225\260\351\207\217.md" index f708e4a368..a9547d23db 100644 --- "a/problems/1020.\351\243\236\345\234\260\347\232\204\346\225\260\351\207\217.md" +++ "b/problems/1020.\351\243\236\345\234\260\347\232\204\346\225\260\351\207\217.md" @@ -14,13 +14,13 @@ 返回网格中 无法 在任意次数的移动中离开网格边界的陆地单元格的数量。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20220830100710.png) +![](images/1020.飞地的数量-01.png) * 输入:grid = [[0,0,0,0],[1,0,1,0],[0,1,1,0],[0,0,0,0]] * 输出:3 * 解释:有三个 1 被 0 包围。一个 1 没有被包围,因为它在边界上。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20220830100742.png) +![](images/1020.飞地的数量-02.png) * 输入:grid = [[0,1,1,0],[0,0,1,0],[0,0,1,0],[0,0,0,0]] * 输出:0 @@ -34,11 +34,11 @@ 如图,在遍历地图周围四个边,靠地图四边的陆地,都为绿色, -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20220830104632.png) +![](images/1020.飞地的数量-03.png) 在遇到地图周边陆地的时候,将1都变为0,此时地图为这样: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20220830104651.png) +![](images/1020.飞地的数量-04.png) 然后我们再去遍历这个地图,遇到有陆地的地方,去采用深搜或者广搜,边统计所有陆地。 diff --git "a/problems/1035.\344\270\215\347\233\270\344\272\244\347\232\204\347\272\277.md" "b/problems/1035.\344\270\215\347\233\270\344\272\244\347\232\204\347\272\277.md" index 5164e1f7ff..dc5ab25932 100644 --- "a/problems/1035.\344\270\215\347\233\270\344\272\244\347\232\204\347\272\277.md" +++ "b/problems/1035.\344\270\215\347\233\270\344\272\244\347\232\204\347\272\277.md" @@ -20,7 +20,7 @@ 以这种方法绘制线条,并返回可以绘制的最大连线数。 -![1035.不相交的线](https://code-thinking-1253855093.file.myqcloud.com/pics/2021032116363533.png) +![1035.不相交的线](images/1035.不相交的线-01.png) ## 算法公开课 @@ -38,7 +38,7 @@ 拿示例一nums1 = [1,4,2], nums2 = [1,2,4]为例,相交情况如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20210914145158.png) +![](images/1035.不相交的线-02.png) 其实也就是说nums1和nums2的最长公共子序列是[1,4],长度为2。 这个公共子序列指的是相对顺序不变(即数字4在字符串nums1中数字1的后面,那么数字4也应该在字符串nums2数字1的后面) diff --git "a/problems/1047.\345\210\240\351\231\244\345\255\227\347\254\246\344\270\262\344\270\255\347\232\204\346\211\200\346\234\211\347\233\270\351\202\273\351\207\215\345\244\215\351\241\271.md" "b/problems/1047.\345\210\240\351\231\244\345\255\227\347\254\246\344\270\262\344\270\255\347\232\204\346\211\200\346\234\211\347\233\270\351\202\273\351\207\215\345\244\215\351\241\271.md" index 51ec4e62c6..7a4ee801fd 100644 --- "a/problems/1047.\345\210\240\351\231\244\345\255\227\347\254\246\344\270\262\344\270\255\347\232\204\346\211\200\346\234\211\347\233\270\351\202\273\351\207\215\345\244\215\351\241\271.md" +++ "b/problems/1047.\345\210\240\351\231\244\345\255\227\347\254\246\344\270\262\344\270\255\347\232\204\346\211\200\346\234\211\347\233\270\351\202\273\351\207\215\345\244\215\351\241\271.md" @@ -48,7 +48,7 @@ 然后再去做对应的消除操作。 如动画所示: -![1047.删除字符串中的所有相邻重复项](https://code-thinking.cdn.bcebos.com/gifs/1047.删除字符串中的所有相邻重复项.gif) +![1047.删除字符串中的所有相邻重复项](images/1047.删除字符串中的所有相邻重复项-01.gif) 从栈中弹出剩余元素,此时是字符串ac,因为从栈里弹出的元素是倒序的,所以再对字符串进行反转一下,就得到了最终的结果。 diff --git "a/problems/1049.\346\234\200\345\220\216\344\270\200\345\235\227\347\237\263\345\244\264\347\232\204\351\207\215\351\207\217II.md" "b/problems/1049.\346\234\200\345\220\216\344\270\200\345\235\227\347\237\263\345\244\264\347\232\204\351\207\215\351\207\217II.md" index 0d445a71f0..c596a25739 100644 --- "a/problems/1049.\346\234\200\345\220\216\344\270\200\345\235\227\347\237\263\345\244\264\347\232\204\351\207\215\351\207\217II.md" +++ "b/problems/1049.\346\234\200\345\220\216\344\270\200\345\235\227\347\237\263\345\244\264\347\232\204\351\207\215\351\207\217II.md" @@ -116,7 +116,7 @@ for (int i = 0; i < stones.size(); i++) { // 遍历物品 举例,输入:[2,4,1,1],此时target = (2 + 4 + 1 + 1)/2 = 4 ,dp数组状态图如下: -![1049.最后一块石头的重量II](https://code-thinking-1253855093.file.myqcloud.com/pics/20210121115805904.jpg) +![1049.最后一块石头的重量II](images/1049.最后一块石头的重量II-01.jpg) 最后dp[target]里是容量为target的背包所能背的最大重量。 diff --git "a/problems/1143.\346\234\200\351\225\277\345\205\254\345\205\261\345\255\220\345\272\217\345\210\227.md" "b/problems/1143.\346\234\200\351\225\277\345\205\254\345\205\261\345\255\220\345\272\217\345\210\227.md" index 6d05ccf3f8..fa35871e03 100644 --- "a/problems/1143.\346\234\200\351\225\277\345\205\254\345\205\261\345\255\220\345\272\217\345\210\227.md" +++ "b/problems/1143.\346\234\200\351\225\277\345\205\254\345\205\261\345\255\220\345\272\217\345\210\227.md" @@ -96,7 +96,7 @@ vector> dp(text1.size() + 1, vector(text2.size() + 1, 0)); 从递推公式,可以看出,有三个方向可以推出dp[i][j],如图: -![1143.最长公共子序列](https://code-thinking-1253855093.file.myqcloud.com/pics/20210204115139616.jpg) +![1143.最长公共子序列](images/1143.最长公共子序列-01.jpg) 那么为了在递推的过程中,这三个方向都是经过计算的数值,所以要从前向后,从上到下来遍历这个矩阵。 @@ -105,7 +105,7 @@ vector> dp(text1.size() + 1, vector(text2.size() + 1, 0)); 以输入:text1 = "abcde", text2 = "ace" 为例,dp状态如图: -![1143.最长公共子序列1](https://code-thinking-1253855093.file.myqcloud.com/pics/20210210150215918.jpg) +![1143.最长公共子序列1](images/1143.最长公共子序列-02.jpg) 最后红框dp[text1.size()][text2.size()]为最终结果 diff --git "a/problems/1207.\347\213\254\344\270\200\346\227\240\344\272\214\347\232\204\345\207\272\347\216\260\346\254\241\346\225\260.md" "b/problems/1207.\347\213\254\344\270\200\346\227\240\344\272\214\347\232\204\345\207\272\347\216\260\346\254\241\346\225\260.md" index 781badf549..9f7d282f38 100644 --- "a/problems/1207.\347\213\254\344\270\200\346\227\240\344\272\214\347\232\204\345\207\272\347\216\260\346\254\241\346\225\260.md" +++ "b/problems/1207.\347\213\254\344\270\200\346\227\240\344\272\214\347\232\204\345\207\272\347\216\260\346\254\241\346\225\260.md" @@ -47,7 +47,7 @@ 如图所示: - + C++代码如下: diff --git "a/problems/1254.\347\273\237\350\256\241\345\260\201\351\227\255\345\262\233\345\261\277\347\232\204\346\225\260\347\233\256.md" "b/problems/1254.\347\273\237\350\256\241\345\260\201\351\227\255\345\262\233\345\261\277\347\232\204\346\225\260\347\233\256.md" index 3d7b9fe96c..13fc4103ca 100644 --- "a/problems/1254.\347\273\237\350\256\241\345\260\201\351\227\255\345\262\233\345\261\277\347\232\204\346\225\260\347\233\256.md" +++ "b/problems/1254.\347\273\237\350\256\241\345\260\201\351\227\255\345\262\233\345\261\277\347\232\204\346\225\260\347\233\256.md" @@ -12,13 +12,13 @@ 请返回 封闭岛屿 的数目。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20220830111533.png) +![](images/1254.统计封闭岛屿的数目-01.png) * 输入:grid = [[1,1,1,1,1,1,1,0],[1,0,0,0,0,1,1,0],[1,0,1,0,1,1,1,0],[1,0,0,0,0,1,0,1],[1,1,1,1,1,1,1,0]] * 输出:2 * 解释:灰色区域的岛屿是封闭岛屿,因为这座岛屿完全被水域包围(即被 1 区域包围)。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20220830111601.png) +![](images/1254.统计封闭岛屿的数目-02.png) * 输入:grid = [[0,0,1,0,0],[0,1,0,1,0],[0,1,1,1,0]] * 输出:1 diff --git "a/problems/1356.\346\240\271\346\215\256\346\225\260\345\255\227\344\272\214\350\277\233\345\210\266\344\270\2131\347\232\204\346\225\260\347\233\256\346\216\222\345\272\217.md" "b/problems/1356.\346\240\271\346\215\256\346\225\260\345\255\227\344\272\214\350\277\233\345\210\266\344\270\2131\347\232\204\346\225\260\347\233\256\346\216\222\345\272\217.md" index 9cfb674328..9ed23e0ee5 100644 --- "a/problems/1356.\346\240\271\346\215\256\346\225\260\345\255\227\344\272\214\350\277\233\345\210\266\344\270\2131\347\232\204\346\225\260\347\233\256\346\216\222\345\272\217.md" +++ "b/problems/1356.\346\240\271\346\215\256\346\225\260\345\255\227\344\272\214\350\277\233\345\210\266\344\270\2131\347\232\204\346\225\260\347\233\256\346\216\222\345\272\217.md" @@ -83,7 +83,7 @@ int bitCount(int n) { ``` 以计算12的二进制1的数量为例,如图所示: - + 下面我就使用方法二,来做这道题目: diff --git "a/problems/1365.\346\234\211\345\244\232\345\260\221\345\260\217\344\272\216\345\275\223\345\211\215\346\225\260\345\255\227\347\232\204\346\225\260\345\255\227.md" "b/problems/1365.\346\234\211\345\244\232\345\260\221\345\260\217\344\272\216\345\275\223\345\211\215\346\225\260\345\255\227\347\232\204\346\225\260\345\255\227.md" index f0a77f5587..b7efc1dde6 100644 --- "a/problems/1365.\346\234\211\345\244\232\345\260\221\345\260\217\344\272\216\345\275\223\345\211\215\346\225\260\345\255\227\347\232\204\346\225\260\345\255\227.md" +++ "b/problems/1365.\346\234\211\345\244\232\345\260\221\345\260\217\344\272\216\345\275\223\345\211\215\346\225\260\345\255\227\347\232\204\346\225\260\345\255\227.md" @@ -87,7 +87,7 @@ for (int i = 0; i < nums.size(); i++) { 流程如图: - + 关键地方讲完了,整体C++代码如下: diff --git "a/problems/1382.\345\260\206\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\345\217\230\345\271\263\350\241\241.md" "b/problems/1382.\345\260\206\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\345\217\230\345\271\263\350\241\241.md" index 120cafffd3..fe89eb348c 100644 --- "a/problems/1382.\345\260\206\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\345\217\230\345\271\263\350\241\241.md" +++ "b/problems/1382.\345\260\206\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\345\217\230\345\271\263\350\241\241.md" @@ -17,7 +17,7 @@ 示例: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20210726154512.png) +![](images/1382.将二叉搜索树变平衡-01.png) * 输入:root = [1,null,2,null,3,null,4,null,null] * 输出:[2,1,3,null,null,null,4] diff --git "a/problems/1791.\346\211\276\345\207\272\346\230\237\345\236\213\345\233\276\347\232\204\344\270\255\345\277\203\350\212\202\347\202\271.md" "b/problems/1791.\346\211\276\345\207\272\346\230\237\345\236\213\345\233\276\347\232\204\344\270\255\345\277\203\350\212\202\347\202\271.md" index e3db794706..ad595bc4c0 100644 --- "a/problems/1791.\346\211\276\345\207\272\346\230\237\345\236\213\345\233\276\347\232\204\344\270\255\345\277\203\350\212\202\347\202\271.md" +++ "b/problems/1791.\346\211\276\345\207\272\346\230\237\345\236\213\345\233\276\347\232\204\344\270\255\345\277\203\350\212\202\347\202\271.md" @@ -12,7 +12,7 @@ 什么是度,可以理解为,链接节点的边的数量。 题目中度如图所示: -![1791.找出星型图的中心节点](https://code-thinking-1253855093.file.myqcloud.com/pics/20220704113207.png) +![1791.找出星型图的中心节点](images/1791.找出星型图的中心节点-01.png) 至于出度和入度,那就是在有向图里的概念了,本题是无向图。 diff --git "a/problems/1971.\345\257\273\346\211\276\345\233\276\344\270\255\346\230\257\345\220\246\345\255\230\345\234\250\350\267\257\345\276\204.md" "b/problems/1971.\345\257\273\346\211\276\345\233\276\344\270\255\346\230\257\345\220\246\345\255\230\345\234\250\350\267\257\345\276\204.md" index 93e9b66365..b086b2add2 100644 --- "a/problems/1971.\345\257\273\346\211\276\345\233\276\344\270\255\346\230\257\345\220\246\345\255\230\345\234\250\350\267\257\345\276\204.md" +++ "b/problems/1971.\345\257\273\346\211\276\345\233\276\344\270\255\346\230\257\345\220\246\345\255\230\345\234\250\350\267\257\345\276\204.md" @@ -14,7 +14,7 @@ 给你数组 edges 和整数 n、start 和 end,如果从 start 到 end 存在 有效路径 ,则返回 true,否则返回 false 。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20220705101442.png) +![](images/1971.寻找图中是否存在路径-01.png) diff --git "a/problems/O(n)\347\232\204\347\256\227\346\263\225\345\261\205\347\204\266\350\266\205\346\227\266\344\272\206\357\274\214\346\255\244\346\227\266\347\232\204n\347\251\266\347\253\237\346\230\257\345\244\232\345\244\247\357\274\237.md" "b/problems/O(n)\347\232\204\347\256\227\346\263\225\345\261\205\347\204\266\350\266\205\346\227\266\344\272\206\357\274\214\346\255\244\346\227\266\347\232\204n\347\251\266\347\253\237\346\230\257\345\244\232\345\244\247\357\274\237.md" index a5dab942c8..8f545126a8 100644 --- "a/problems/O(n)\347\232\204\347\256\227\346\263\225\345\261\205\347\204\266\350\266\205\346\227\266\344\272\206\357\274\214\346\255\244\346\227\266\347\232\204n\347\251\266\347\253\237\346\230\257\345\244\232\345\244\247\357\274\237.md" +++ "b/problems/O(n)\347\232\204\347\256\227\346\263\225\345\261\205\347\204\266\350\266\205\346\227\266\344\272\206\357\274\214\346\255\244\346\227\266\347\232\204n\347\251\266\347\253\237\346\230\257\345\244\232\345\244\247\357\274\237.md" @@ -15,7 +15,7 @@ ## 超时是怎么回事 -![程序超时](https://code-thinking-1253855093.file.myqcloud.com/pics/20200729112716117.png) +![程序超时](images/O(n)的算法居然超时了,此时的n究竟是多大?-01.png) 大家在leetcode上练习算法的时候应该都遇到过一种错误是“超时”。 @@ -131,11 +131,11 @@ int main() { 来看一下运行的效果,如下图: -![程序超时2](https://code-thinking-1253855093.file.myqcloud.com/pics/20200729200018460.png) +![程序超时2](images/O(n)的算法居然超时了,此时的n究竟是多大?-02.png) O(n)的算法,1s内大概计算机可以运行 5 * (10^8)次计算,可以推测一下O(n^2) 的算法应该1s可以处理的数量级的规模是 5 * (10^8)开根号,实验数据如下。 -![程序超时3](https://code-thinking-1253855093.file.myqcloud.com/pics/2020072919590970.png) +![程序超时3](images/O(n)的算法居然超时了,此时的n究竟是多大?-03.png) O(n^2)的算法,1s内大概计算机可以运行 22500次计算,验证了刚刚的推测。 @@ -143,7 +143,7 @@ O(n^2)的算法,1s内大概计算机可以运行 22500次计算,验证了刚 理论上应该是比 O(n)少一个数量级,因为logn的复杂度 其实是很快,看一下实验数据。 -![程序超时4](https://code-thinking-1253855093.file.myqcloud.com/pics/20200729195729407.png) +![程序超时4](images/O(n)的算法居然超时了,此时的n究竟是多大?-04.png) O(nlogn)的算法,1s内大概计算机可以运行 2 * (10^7)次计算,符合预期。 @@ -151,7 +151,7 @@ O(nlogn)的算法,1s内大概计算机可以运行 2 * (10^7)次计算,符 **整体测试数据整理如下:** -![程序超时1](https://code-thinking-1253855093.file.myqcloud.com/pics/20201208231559175.png) +![程序超时1](images/O(n)的算法居然超时了,此时的n究竟是多大?-05.png) 至于O(log n)和O(n^3) 等等这些时间复杂度在1s内可以处理的多大的数据规模,大家可以自己写一写代码去测一下了。 diff --git "a/problems/images/0001.\344\270\244\346\225\260\344\271\213\345\222\214-01.png" "b/problems/images/0001.\344\270\244\346\225\260\344\271\213\345\222\214-01.png" new file mode 100644 index 0000000000..4e063e334a Binary files /dev/null and "b/problems/images/0001.\344\270\244\346\225\260\344\271\213\345\222\214-01.png" differ diff --git "a/problems/images/0001.\344\270\244\346\225\260\344\271\213\345\222\214-02.png" "b/problems/images/0001.\344\270\244\346\225\260\344\271\213\345\222\214-02.png" new file mode 100644 index 0000000000..d236cc9088 Binary files /dev/null and "b/problems/images/0001.\344\270\244\346\225\260\344\271\213\345\222\214-02.png" differ diff --git "a/problems/images/0005.\346\234\200\351\225\277\345\233\236\346\226\207\345\255\220\344\270\262-01.jpg" "b/problems/images/0005.\346\234\200\351\225\277\345\233\236\346\226\207\345\255\220\344\270\262-01.jpg" new file mode 100644 index 0000000000..c5114eda3f Binary files /dev/null and "b/problems/images/0005.\346\234\200\351\225\277\345\233\236\346\226\207\345\255\220\344\270\262-01.jpg" differ diff --git "a/problems/images/0005.\346\234\200\351\225\277\345\233\236\346\226\207\345\255\220\344\270\262-02.jpg" "b/problems/images/0005.\346\234\200\351\225\277\345\233\236\346\226\207\345\255\220\344\270\262-02.jpg" new file mode 100644 index 0000000000..d822890906 Binary files /dev/null and "b/problems/images/0005.\346\234\200\351\225\277\345\233\236\346\226\207\345\255\220\344\270\262-02.jpg" differ diff --git "a/problems/images/0015.\344\270\211\346\225\260\344\271\213\345\222\214-01.gif" "b/problems/images/0015.\344\270\211\346\225\260\344\271\213\345\222\214-01.gif" new file mode 100644 index 0000000000..82e1eabc19 Binary files /dev/null and "b/problems/images/0015.\344\270\211\346\225\260\344\271\213\345\222\214-01.gif" differ diff --git "a/problems/images/0017.\347\224\265\350\257\235\345\217\267\347\240\201\347\232\204\345\255\227\346\257\215\347\273\204\345\220\210-01.png" "b/problems/images/0017.\347\224\265\350\257\235\345\217\267\347\240\201\347\232\204\345\255\227\346\257\215\347\273\204\345\220\210-01.png" new file mode 100644 index 0000000000..10ef7fd95e Binary files /dev/null and "b/problems/images/0017.\347\224\265\350\257\235\345\217\267\347\240\201\347\232\204\345\255\227\346\257\215\347\273\204\345\220\210-01.png" differ diff --git "a/problems/images/0017.\347\224\265\350\257\235\345\217\267\347\240\201\347\232\204\345\255\227\346\257\215\347\273\204\345\220\210-02.png" "b/problems/images/0017.\347\224\265\350\257\235\345\217\267\347\240\201\347\232\204\345\255\227\346\257\215\347\273\204\345\220\210-02.png" new file mode 100644 index 0000000000..b11f7114f5 Binary files /dev/null and "b/problems/images/0017.\347\224\265\350\257\235\345\217\267\347\240\201\347\232\204\345\255\227\346\257\215\347\273\204\345\220\210-02.png" differ diff --git "a/problems/images/0019.\345\210\240\351\231\244\351\223\276\350\241\250\347\232\204\345\200\222\346\225\260\347\254\254N\344\270\252\350\212\202\347\202\271-01.png" "b/problems/images/0019.\345\210\240\351\231\244\351\223\276\350\241\250\347\232\204\345\200\222\346\225\260\347\254\254N\344\270\252\350\212\202\347\202\271-01.png" new file mode 100644 index 0000000000..e683bf58db Binary files /dev/null and "b/problems/images/0019.\345\210\240\351\231\244\351\223\276\350\241\250\347\232\204\345\200\222\346\225\260\347\254\254N\344\270\252\350\212\202\347\202\271-01.png" differ diff --git "a/problems/images/0019.\345\210\240\351\231\244\351\223\276\350\241\250\347\232\204\345\200\222\346\225\260\347\254\254N\344\270\252\350\212\202\347\202\271-02.png" "b/problems/images/0019.\345\210\240\351\231\244\351\223\276\350\241\250\347\232\204\345\200\222\346\225\260\347\254\254N\344\270\252\350\212\202\347\202\271-02.png" new file mode 100644 index 0000000000..6f6aa9c586 Binary files /dev/null and "b/problems/images/0019.\345\210\240\351\231\244\351\223\276\350\241\250\347\232\204\345\200\222\346\225\260\347\254\254N\344\270\252\350\212\202\347\202\271-02.png" differ diff --git "a/problems/images/0019.\345\210\240\351\231\244\351\223\276\350\241\250\347\232\204\345\200\222\346\225\260\347\254\254N\344\270\252\350\212\202\347\202\271-03.png" "b/problems/images/0019.\345\210\240\351\231\244\351\223\276\350\241\250\347\232\204\345\200\222\346\225\260\347\254\254N\344\270\252\350\212\202\347\202\271-03.png" new file mode 100644 index 0000000000..cca947b48e Binary files /dev/null and "b/problems/images/0019.\345\210\240\351\231\244\351\223\276\350\241\250\347\232\204\345\200\222\346\225\260\347\254\254N\344\270\252\350\212\202\347\202\271-03.png" differ diff --git "a/problems/images/0019.\345\210\240\351\231\244\351\223\276\350\241\250\347\232\204\345\200\222\346\225\260\347\254\254N\344\270\252\350\212\202\347\202\271-04.png" "b/problems/images/0019.\345\210\240\351\231\244\351\223\276\350\241\250\347\232\204\345\200\222\346\225\260\347\254\254N\344\270\252\350\212\202\347\202\271-04.png" new file mode 100644 index 0000000000..0d8144cdb8 Binary files /dev/null and "b/problems/images/0019.\345\210\240\351\231\244\351\223\276\350\241\250\347\232\204\345\200\222\346\225\260\347\254\254N\344\270\252\350\212\202\347\202\271-04.png" differ diff --git "a/problems/images/0019.\345\210\240\351\231\244\351\223\276\350\241\250\347\232\204\345\200\222\346\225\260\347\254\254N\344\270\252\350\212\202\347\202\271-05.png" "b/problems/images/0019.\345\210\240\351\231\244\351\223\276\350\241\250\347\232\204\345\200\222\346\225\260\347\254\254N\344\270\252\350\212\202\347\202\271-05.png" new file mode 100644 index 0000000000..d15d05e7e3 Binary files /dev/null and "b/problems/images/0019.\345\210\240\351\231\244\351\223\276\350\241\250\347\232\204\345\200\222\346\225\260\347\254\254N\344\270\252\350\212\202\347\202\271-05.png" differ diff --git "a/problems/images/0020.\346\234\211\346\225\210\347\232\204\346\213\254\345\217\267-01.png" "b/problems/images/0020.\346\234\211\346\225\210\347\232\204\346\213\254\345\217\267-01.png" new file mode 100644 index 0000000000..a4548591e6 Binary files /dev/null and "b/problems/images/0020.\346\234\211\346\225\210\347\232\204\346\213\254\345\217\267-01.png" differ diff --git "a/problems/images/0020.\346\234\211\346\225\210\347\232\204\346\213\254\345\217\267-02.png" "b/problems/images/0020.\346\234\211\346\225\210\347\232\204\346\213\254\345\217\267-02.png" new file mode 100644 index 0000000000..49304cbddc Binary files /dev/null and "b/problems/images/0020.\346\234\211\346\225\210\347\232\204\346\213\254\345\217\267-02.png" differ diff --git "a/problems/images/0020.\346\234\211\346\225\210\347\232\204\346\213\254\345\217\267-03.png" "b/problems/images/0020.\346\234\211\346\225\210\347\232\204\346\213\254\345\217\267-03.png" new file mode 100644 index 0000000000..cc0c771786 Binary files /dev/null and "b/problems/images/0020.\346\234\211\346\225\210\347\232\204\346\213\254\345\217\267-03.png" differ diff --git "a/problems/images/0020.\346\234\211\346\225\210\347\232\204\346\213\254\345\217\267-04.gif" "b/problems/images/0020.\346\234\211\346\225\210\347\232\204\346\213\254\345\217\267-04.gif" new file mode 100644 index 0000000000..9821eea694 Binary files /dev/null and "b/problems/images/0020.\346\234\211\346\225\210\347\232\204\346\213\254\345\217\267-04.gif" differ diff --git "a/problems/images/0024.\344\270\244\344\270\244\344\272\244\346\215\242\351\223\276\350\241\250\344\270\255\347\232\204\350\212\202\347\202\271-01.jpg" "b/problems/images/0024.\344\270\244\344\270\244\344\272\244\346\215\242\351\223\276\350\241\250\344\270\255\347\232\204\350\212\202\347\202\271-01.jpg" new file mode 100644 index 0000000000..734b0f6143 Binary files /dev/null and "b/problems/images/0024.\344\270\244\344\270\244\344\272\244\346\215\242\351\223\276\350\241\250\344\270\255\347\232\204\350\212\202\347\202\271-01.jpg" differ diff --git "a/problems/images/0024.\344\270\244\344\270\244\344\272\244\346\215\242\351\223\276\350\241\250\344\270\255\347\232\204\350\212\202\347\202\271-02.png" "b/problems/images/0024.\344\270\244\344\270\244\344\272\244\346\215\242\351\223\276\350\241\250\344\270\255\347\232\204\350\212\202\347\202\271-02.png" new file mode 100644 index 0000000000..e79642c334 Binary files /dev/null and "b/problems/images/0024.\344\270\244\344\270\244\344\272\244\346\215\242\351\223\276\350\241\250\344\270\255\347\232\204\350\212\202\347\202\271-02.png" differ diff --git "a/problems/images/0024.\344\270\244\344\270\244\344\272\244\346\215\242\351\223\276\350\241\250\344\270\255\347\232\204\350\212\202\347\202\271-03.png" "b/problems/images/0024.\344\270\244\344\270\244\344\272\244\346\215\242\351\223\276\350\241\250\344\270\255\347\232\204\350\212\202\347\202\271-03.png" new file mode 100644 index 0000000000..e6dba91282 Binary files /dev/null and "b/problems/images/0024.\344\270\244\344\270\244\344\272\244\346\215\242\351\223\276\350\241\250\344\270\255\347\232\204\350\212\202\347\202\271-03.png" differ diff --git "a/problems/images/0024.\344\270\244\344\270\244\344\272\244\346\215\242\351\223\276\350\241\250\344\270\255\347\232\204\350\212\202\347\202\271-04.png" "b/problems/images/0024.\344\270\244\344\270\244\344\272\244\346\215\242\351\223\276\350\241\250\344\270\255\347\232\204\350\212\202\347\202\271-04.png" new file mode 100644 index 0000000000..7d706cd26c Binary files /dev/null and "b/problems/images/0024.\344\270\244\344\270\244\344\272\244\346\215\242\351\223\276\350\241\250\344\270\255\347\232\204\350\212\202\347\202\271-04.png" differ diff --git "a/problems/images/0024.\344\270\244\344\270\244\344\272\244\346\215\242\351\223\276\350\241\250\344\270\255\347\232\204\350\212\202\347\202\271-05.png" "b/problems/images/0024.\344\270\244\344\270\244\344\272\244\346\215\242\351\223\276\350\241\250\344\270\255\347\232\204\350\212\202\347\202\271-05.png" new file mode 100644 index 0000000000..3051c5a1d2 Binary files /dev/null and "b/problems/images/0024.\344\270\244\344\270\244\344\272\244\346\215\242\351\223\276\350\241\250\344\270\255\347\232\204\350\212\202\347\202\271-05.png" differ diff --git "a/problems/images/0027.\347\247\273\351\231\244\345\205\203\347\264\240-01.gif" "b/problems/images/0027.\347\247\273\351\231\244\345\205\203\347\264\240-01.gif" new file mode 100644 index 0000000000..0ccba4dcb5 Binary files /dev/null and "b/problems/images/0027.\347\247\273\351\231\244\345\205\203\347\264\240-01.gif" differ diff --git "a/problems/images/0027.\347\247\273\351\231\244\345\205\203\347\264\240-02.gif" "b/problems/images/0027.\347\247\273\351\231\244\345\205\203\347\264\240-02.gif" new file mode 100644 index 0000000000..74aa479e70 Binary files /dev/null and "b/problems/images/0027.\347\247\273\351\231\244\345\205\203\347\264\240-02.gif" differ diff --git "a/problems/images/0028.\345\256\236\347\216\260strStr-01.gif" "b/problems/images/0028.\345\256\236\347\216\260strStr-01.gif" new file mode 100644 index 0000000000..9562dbe815 Binary files /dev/null and "b/problems/images/0028.\345\256\236\347\216\260strStr-01.gif" differ diff --git "a/problems/images/0028.\345\256\236\347\216\260strStr-02.png" "b/problems/images/0028.\345\256\236\347\216\260strStr-02.png" new file mode 100644 index 0000000000..9d1639ddf7 Binary files /dev/null and "b/problems/images/0028.\345\256\236\347\216\260strStr-02.png" differ diff --git "a/problems/images/0028.\345\256\236\347\216\260strStr-03.png" "b/problems/images/0028.\345\256\236\347\216\260strStr-03.png" new file mode 100644 index 0000000000..5510f2632b Binary files /dev/null and "b/problems/images/0028.\345\256\236\347\216\260strStr-03.png" differ diff --git "a/problems/images/0028.\345\256\236\347\216\260strStr-04.png" "b/problems/images/0028.\345\256\236\347\216\260strStr-04.png" new file mode 100644 index 0000000000..1826cb68c1 Binary files /dev/null and "b/problems/images/0028.\345\256\236\347\216\260strStr-04.png" differ diff --git "a/problems/images/0028.\345\256\236\347\216\260strStr-05.png" "b/problems/images/0028.\345\256\236\347\216\260strStr-05.png" new file mode 100644 index 0000000000..756f2303cf Binary files /dev/null and "b/problems/images/0028.\345\256\236\347\216\260strStr-05.png" differ diff --git "a/problems/images/0028.\345\256\236\347\216\260strStr-06.png" "b/problems/images/0028.\345\256\236\347\216\260strStr-06.png" new file mode 100644 index 0000000000..2006844991 Binary files /dev/null and "b/problems/images/0028.\345\256\236\347\216\260strStr-06.png" differ diff --git "a/problems/images/0028.\345\256\236\347\216\260strStr-07.png" "b/problems/images/0028.\345\256\236\347\216\260strStr-07.png" new file mode 100644 index 0000000000..177e9c76fd Binary files /dev/null and "b/problems/images/0028.\345\256\236\347\216\260strStr-07.png" differ diff --git "a/problems/images/0028.\345\256\236\347\216\260strStr-08.gif" "b/problems/images/0028.\345\256\236\347\216\260strStr-08.gif" new file mode 100644 index 0000000000..5a88d49b27 Binary files /dev/null and "b/problems/images/0028.\345\256\236\347\216\260strStr-08.gif" differ diff --git "a/problems/images/0028.\345\256\236\347\216\260strStr-09.gif" "b/problems/images/0028.\345\256\236\347\216\260strStr-09.gif" new file mode 100644 index 0000000000..0f0f68ca89 Binary files /dev/null and "b/problems/images/0028.\345\256\236\347\216\260strStr-09.gif" differ diff --git "a/problems/images/0028.\345\256\236\347\216\260strStr-10.gif" "b/problems/images/0028.\345\256\236\347\216\260strStr-10.gif" new file mode 100644 index 0000000000..715e2aa835 Binary files /dev/null and "b/problems/images/0028.\345\256\236\347\216\260strStr-10.gif" differ diff --git "a/problems/images/0031.\344\270\213\344\270\200\344\270\252\346\216\222\345\210\227-01.png" "b/problems/images/0031.\344\270\213\344\270\200\344\270\252\346\216\222\345\210\227-01.png" new file mode 100644 index 0000000000..f88ef3926b Binary files /dev/null and "b/problems/images/0031.\344\270\213\344\270\200\344\270\252\346\216\222\345\210\227-01.png" differ diff --git "a/problems/images/0035.\346\220\234\347\264\242\346\217\222\345\205\245\344\275\215\347\275\256-01.png" "b/problems/images/0035.\346\220\234\347\264\242\346\217\222\345\205\245\344\275\215\347\275\256-01.png" new file mode 100644 index 0000000000..ec1ce1ebdd Binary files /dev/null and "b/problems/images/0035.\346\220\234\347\264\242\346\217\222\345\205\245\344\275\215\347\275\256-01.png" differ diff --git "a/problems/images/0035.\346\220\234\347\264\242\346\217\222\345\205\245\344\275\215\347\275\256-02.png" "b/problems/images/0035.\346\220\234\347\264\242\346\217\222\345\205\245\344\275\215\347\275\256-02.png" new file mode 100644 index 0000000000..5fa654903f Binary files /dev/null and "b/problems/images/0035.\346\220\234\347\264\242\346\217\222\345\205\245\344\275\215\347\275\256-02.png" differ diff --git "a/problems/images/0035.\346\220\234\347\264\242\346\217\222\345\205\245\344\275\215\347\275\256-03.png" "b/problems/images/0035.\346\220\234\347\264\242\346\217\222\345\205\245\344\275\215\347\275\256-03.png" new file mode 100644 index 0000000000..efb88e22c3 Binary files /dev/null and "b/problems/images/0035.\346\220\234\347\264\242\346\217\222\345\205\245\344\275\215\347\275\256-03.png" differ diff --git "a/problems/images/0035.\346\220\234\347\264\242\346\217\222\345\205\245\344\275\215\347\275\256-04.png" "b/problems/images/0035.\346\220\234\347\264\242\346\217\222\345\205\245\344\275\215\347\275\256-04.png" new file mode 100644 index 0000000000..ec021c9db5 Binary files /dev/null and "b/problems/images/0035.\346\220\234\347\264\242\346\217\222\345\205\245\344\275\215\347\275\256-04.png" differ diff --git "a/problems/images/0035.\346\220\234\347\264\242\346\217\222\345\205\245\344\275\215\347\275\256-05.png" "b/problems/images/0035.\346\220\234\347\264\242\346\217\222\345\205\245\344\275\215\347\275\256-05.png" new file mode 100644 index 0000000000..71fca151fa Binary files /dev/null and "b/problems/images/0035.\346\220\234\347\264\242\346\217\222\345\205\245\344\275\215\347\275\256-05.png" differ diff --git "a/problems/images/0037.\350\247\243\346\225\260\347\213\254-01.png" "b/problems/images/0037.\350\247\243\346\225\260\347\213\254-01.png" new file mode 100644 index 0000000000..869d5151a4 Binary files /dev/null and "b/problems/images/0037.\350\247\243\346\225\260\347\213\254-01.png" differ diff --git "a/problems/images/0037.\350\247\243\346\225\260\347\213\254-02.png" "b/problems/images/0037.\350\247\243\346\225\260\347\213\254-02.png" new file mode 100644 index 0000000000..c173adb286 Binary files /dev/null and "b/problems/images/0037.\350\247\243\346\225\260\347\213\254-02.png" differ diff --git "a/problems/images/0037.\350\247\243\346\225\260\347\213\254-03.png" "b/problems/images/0037.\350\247\243\346\225\260\347\213\254-03.png" new file mode 100644 index 0000000000..416f7f252c Binary files /dev/null and "b/problems/images/0037.\350\247\243\346\225\260\347\213\254-03.png" differ diff --git "a/problems/images/0037.\350\247\243\346\225\260\347\213\254-04.png" "b/problems/images/0037.\350\247\243\346\225\260\347\213\254-04.png" new file mode 100644 index 0000000000..416f7f252c Binary files /dev/null and "b/problems/images/0037.\350\247\243\346\225\260\347\213\254-04.png" differ diff --git "a/problems/images/0039.\347\273\204\345\220\210\346\200\273\345\222\214-01.png" "b/problems/images/0039.\347\273\204\345\220\210\346\200\273\345\222\214-01.png" new file mode 100644 index 0000000000..95430a665d Binary files /dev/null and "b/problems/images/0039.\347\273\204\345\220\210\346\200\273\345\222\214-01.png" differ diff --git "a/problems/images/0039.\347\273\204\345\220\210\346\200\273\345\222\214-02.png" "b/problems/images/0039.\347\273\204\345\220\210\346\200\273\345\222\214-02.png" new file mode 100644 index 0000000000..95430a665d Binary files /dev/null and "b/problems/images/0039.\347\273\204\345\220\210\346\200\273\345\222\214-02.png" differ diff --git "a/problems/images/0039.\347\273\204\345\220\210\346\200\273\345\222\214-03.png" "b/problems/images/0039.\347\273\204\345\220\210\346\200\273\345\222\214-03.png" new file mode 100644 index 0000000000..95430a665d Binary files /dev/null and "b/problems/images/0039.\347\273\204\345\220\210\346\200\273\345\222\214-03.png" differ diff --git "a/problems/images/0039.\347\273\204\345\220\210\346\200\273\345\222\214-04.png" "b/problems/images/0039.\347\273\204\345\220\210\346\200\273\345\222\214-04.png" new file mode 100644 index 0000000000..88f7635b18 Binary files /dev/null and "b/problems/images/0039.\347\273\204\345\220\210\346\200\273\345\222\214-04.png" differ diff --git "a/problems/images/0040.\347\273\204\345\220\210\346\200\273\345\222\214II-01.png" "b/problems/images/0040.\347\273\204\345\220\210\346\200\273\345\222\214II-01.png" new file mode 100644 index 0000000000..26f0c409a7 Binary files /dev/null and "b/problems/images/0040.\347\273\204\345\220\210\346\200\273\345\222\214II-01.png" differ diff --git "a/problems/images/0040.\347\273\204\345\220\210\346\200\273\345\222\214II-02.png" "b/problems/images/0040.\347\273\204\345\220\210\346\200\273\345\222\214II-02.png" new file mode 100644 index 0000000000..bb0d572190 Binary files /dev/null and "b/problems/images/0040.\347\273\204\345\220\210\346\200\273\345\222\214II-02.png" differ diff --git "a/problems/images/0040.\347\273\204\345\220\210\346\200\273\345\222\214II-03.png" "b/problems/images/0040.\347\273\204\345\220\210\346\200\273\345\222\214II-03.png" new file mode 100644 index 0000000000..96d72ba832 Binary files /dev/null and "b/problems/images/0040.\347\273\204\345\220\210\346\200\273\345\222\214II-03.png" differ diff --git "a/problems/images/0042.\346\216\245\351\233\250\346\260\264-01.png" "b/problems/images/0042.\346\216\245\351\233\250\346\260\264-01.png" new file mode 100644 index 0000000000..321fca53d0 Binary files /dev/null and "b/problems/images/0042.\346\216\245\351\233\250\346\260\264-01.png" differ diff --git "a/problems/images/0042.\346\216\245\351\233\250\346\260\264-02.png" "b/problems/images/0042.\346\216\245\351\233\250\346\260\264-02.png" new file mode 100644 index 0000000000..338d5606b1 Binary files /dev/null and "b/problems/images/0042.\346\216\245\351\233\250\346\260\264-02.png" differ diff --git "a/problems/images/0042.\346\216\245\351\233\250\346\260\264-03.png" "b/problems/images/0042.\346\216\245\351\233\250\346\260\264-03.png" new file mode 100644 index 0000000000..1e4b528a65 Binary files /dev/null and "b/problems/images/0042.\346\216\245\351\233\250\346\260\264-03.png" differ diff --git "a/problems/images/0042.\346\216\245\351\233\250\346\260\264-04.png" "b/problems/images/0042.\346\216\245\351\233\250\346\260\264-04.png" new file mode 100644 index 0000000000..94eda97eac Binary files /dev/null and "b/problems/images/0042.\346\216\245\351\233\250\346\260\264-04.png" differ diff --git "a/problems/images/0042.\346\216\245\351\233\250\346\260\264-05.png" "b/problems/images/0042.\346\216\245\351\233\250\346\260\264-05.png" new file mode 100644 index 0000000000..a18539ce3f Binary files /dev/null and "b/problems/images/0042.\346\216\245\351\233\250\346\260\264-05.png" differ diff --git "a/problems/images/0042.\346\216\245\351\233\250\346\260\264-06.png" "b/problems/images/0042.\346\216\245\351\233\250\346\260\264-06.png" new file mode 100644 index 0000000000..066792b0f7 Binary files /dev/null and "b/problems/images/0042.\346\216\245\351\233\250\346\260\264-06.png" differ diff --git "a/problems/images/0042.\346\216\245\351\233\250\346\260\264-07.png" "b/problems/images/0042.\346\216\245\351\233\250\346\260\264-07.png" new file mode 100644 index 0000000000..a18539ce3f Binary files /dev/null and "b/problems/images/0042.\346\216\245\351\233\250\346\260\264-07.png" differ diff --git "a/problems/images/0045.\350\267\263\350\267\203\346\270\270\346\210\217II-01.png" "b/problems/images/0045.\350\267\263\350\267\203\346\270\270\346\210\217II-01.png" new file mode 100644 index 0000000000..77130cb217 Binary files /dev/null and "b/problems/images/0045.\350\267\263\350\267\203\346\270\270\346\210\217II-01.png" differ diff --git "a/problems/images/0045.\350\267\263\350\267\203\346\270\270\346\210\217II-02.png" "b/problems/images/0045.\350\267\263\350\267\203\346\270\270\346\210\217II-02.png" new file mode 100644 index 0000000000..aa45f60a13 Binary files /dev/null and "b/problems/images/0045.\350\267\263\350\267\203\346\270\270\346\210\217II-02.png" differ diff --git "a/problems/images/0045.\350\267\263\350\267\203\346\270\270\346\210\217II-03.png" "b/problems/images/0045.\350\267\263\350\267\203\346\270\270\346\210\217II-03.png" new file mode 100644 index 0000000000..7850187f0f Binary files /dev/null and "b/problems/images/0045.\350\267\263\350\267\203\346\270\270\346\210\217II-03.png" differ diff --git "a/problems/images/0046.\345\205\250\346\216\222\345\210\227-01.png" "b/problems/images/0046.\345\205\250\346\216\222\345\210\227-01.png" new file mode 100644 index 0000000000..78a30a3216 Binary files /dev/null and "b/problems/images/0046.\345\205\250\346\216\222\345\210\227-01.png" differ diff --git "a/problems/images/0046.\345\205\250\346\216\222\345\210\227-02.png" "b/problems/images/0046.\345\205\250\346\216\222\345\210\227-02.png" new file mode 100644 index 0000000000..78a30a3216 Binary files /dev/null and "b/problems/images/0046.\345\205\250\346\216\222\345\210\227-02.png" differ diff --git "a/problems/images/0046.\345\205\250\346\216\222\345\210\227-03.png" "b/problems/images/0046.\345\205\250\346\216\222\345\210\227-03.png" new file mode 100644 index 0000000000..78a30a3216 Binary files /dev/null and "b/problems/images/0046.\345\205\250\346\216\222\345\210\227-03.png" differ diff --git "a/problems/images/0047.\345\205\250\346\216\222\345\210\227II-01.png" "b/problems/images/0047.\345\205\250\346\216\222\345\210\227II-01.png" new file mode 100644 index 0000000000..8160dd86cf Binary files /dev/null and "b/problems/images/0047.\345\205\250\346\216\222\345\210\227II-01.png" differ diff --git "a/problems/images/0047.\345\205\250\346\216\222\345\210\227II-02.png" "b/problems/images/0047.\345\205\250\346\216\222\345\210\227II-02.png" new file mode 100644 index 0000000000..d2e096b163 Binary files /dev/null and "b/problems/images/0047.\345\205\250\346\216\222\345\210\227II-02.png" differ diff --git "a/problems/images/0047.\345\205\250\346\216\222\345\210\227II-03.png" "b/problems/images/0047.\345\205\250\346\216\222\345\210\227II-03.png" new file mode 100644 index 0000000000..b6f5a8623a Binary files /dev/null and "b/problems/images/0047.\345\205\250\346\216\222\345\210\227II-03.png" differ diff --git "a/problems/images/0047.\345\217\202\344\274\232dijkstra\345\240\206-01.png" "b/problems/images/0047.\345\217\202\344\274\232dijkstra\345\240\206-01.png" new file mode 100644 index 0000000000..9d5fc05457 Binary files /dev/null and "b/problems/images/0047.\345\217\202\344\274\232dijkstra\345\240\206-01.png" differ diff --git "a/problems/images/0047.\345\217\202\344\274\232dijkstra\345\240\206-02.png" "b/problems/images/0047.\345\217\202\344\274\232dijkstra\345\240\206-02.png" new file mode 100644 index 0000000000..d2c89b8469 Binary files /dev/null and "b/problems/images/0047.\345\217\202\344\274\232dijkstra\345\240\206-02.png" differ diff --git "a/problems/images/0047.\345\217\202\344\274\232dijkstra\345\240\206-03.png" "b/problems/images/0047.\345\217\202\344\274\232dijkstra\345\240\206-03.png" new file mode 100644 index 0000000000..a6d0e64d3c Binary files /dev/null and "b/problems/images/0047.\345\217\202\344\274\232dijkstra\345\240\206-03.png" differ diff --git "a/problems/images/0047.\345\217\202\344\274\232dijkstra\345\240\206-04.png" "b/problems/images/0047.\345\217\202\344\274\232dijkstra\345\240\206-04.png" new file mode 100644 index 0000000000..de82659910 Binary files /dev/null and "b/problems/images/0047.\345\217\202\344\274\232dijkstra\345\240\206-04.png" differ diff --git "a/problems/images/0047.\345\217\202\344\274\232dijkstra\345\240\206-05.png" "b/problems/images/0047.\345\217\202\344\274\232dijkstra\345\240\206-05.png" new file mode 100644 index 0000000000..de82659910 Binary files /dev/null and "b/problems/images/0047.\345\217\202\344\274\232dijkstra\345\240\206-05.png" differ diff --git "a/problems/images/0047.\345\217\202\344\274\232dijkstra\345\240\206-06.png" "b/problems/images/0047.\345\217\202\344\274\232dijkstra\345\240\206-06.png" new file mode 100644 index 0000000000..ffe7355d89 Binary files /dev/null and "b/problems/images/0047.\345\217\202\344\274\232dijkstra\345\240\206-06.png" differ diff --git "a/problems/images/0047.\345\217\202\344\274\232dijkstra\345\240\206-07.png" "b/problems/images/0047.\345\217\202\344\274\232dijkstra\345\240\206-07.png" new file mode 100644 index 0000000000..de82659910 Binary files /dev/null and "b/problems/images/0047.\345\217\202\344\274\232dijkstra\345\240\206-07.png" differ diff --git "a/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-01.png" "b/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-01.png" new file mode 100644 index 0000000000..9d5fc05457 Binary files /dev/null and "b/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-01.png" differ diff --git "a/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-02.png" "b/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-02.png" new file mode 100644 index 0000000000..d2c89b8469 Binary files /dev/null and "b/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-02.png" differ diff --git "a/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-03.png" "b/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-03.png" new file mode 100644 index 0000000000..926a8908da Binary files /dev/null and "b/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-03.png" differ diff --git "a/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-04.png" "b/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-04.png" new file mode 100644 index 0000000000..1fd2d04069 Binary files /dev/null and "b/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-04.png" differ diff --git "a/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-05.png" "b/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-05.png" new file mode 100644 index 0000000000..28381cb68e Binary files /dev/null and "b/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-05.png" differ diff --git "a/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-06.png" "b/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-06.png" new file mode 100644 index 0000000000..8dc52ded05 Binary files /dev/null and "b/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-06.png" differ diff --git "a/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-07.png" "b/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-07.png" new file mode 100644 index 0000000000..fb5de870f9 Binary files /dev/null and "b/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-07.png" differ diff --git "a/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-08.png" "b/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-08.png" new file mode 100644 index 0000000000..172ea4ae72 Binary files /dev/null and "b/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-08.png" differ diff --git "a/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-09.png" "b/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-09.png" new file mode 100644 index 0000000000..7fd10ef620 Binary files /dev/null and "b/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-09.png" differ diff --git "a/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-10.png" "b/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-10.png" new file mode 100644 index 0000000000..b09d39357b Binary files /dev/null and "b/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-10.png" differ diff --git "a/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-11.png" "b/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-11.png" new file mode 100644 index 0000000000..6f038c2e8c Binary files /dev/null and "b/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-11.png" differ diff --git "a/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-12.png" "b/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-12.png" new file mode 100644 index 0000000000..9ef2437454 Binary files /dev/null and "b/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-12.png" differ diff --git "a/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-13.png" "b/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-13.png" new file mode 100644 index 0000000000..9ef2437454 Binary files /dev/null and "b/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-13.png" differ diff --git "a/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-14.png" "b/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-14.png" new file mode 100644 index 0000000000..e1a7cc9286 Binary files /dev/null and "b/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-14.png" differ diff --git "a/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-15.png" "b/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-15.png" new file mode 100644 index 0000000000..2e8daf393b Binary files /dev/null and "b/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-15.png" differ diff --git "a/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-16.png" "b/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-16.png" new file mode 100644 index 0000000000..671c041720 Binary files /dev/null and "b/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-16.png" differ diff --git "a/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-17.png" "b/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-17.png" new file mode 100644 index 0000000000..ef98c085d2 Binary files /dev/null and "b/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-17.png" differ diff --git "a/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-18.png" "b/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-18.png" new file mode 100644 index 0000000000..311d2f3d55 Binary files /dev/null and "b/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-18.png" differ diff --git "a/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-19.png" "b/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-19.png" new file mode 100644 index 0000000000..3385135492 Binary files /dev/null and "b/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-19.png" differ diff --git "a/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-20.png" "b/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-20.png" new file mode 100644 index 0000000000..898c536f9a Binary files /dev/null and "b/problems/images/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240-20.png" differ diff --git "a/problems/images/0051.N\347\232\207\345\220\216-01.png" "b/problems/images/0051.N\347\232\207\345\220\216-01.png" new file mode 100644 index 0000000000..5019a6760b Binary files /dev/null and "b/problems/images/0051.N\347\232\207\345\220\216-01.png" differ diff --git "a/problems/images/0051.N\347\232\207\345\220\216-02.jpg" "b/problems/images/0051.N\347\232\207\345\220\216-02.jpg" new file mode 100644 index 0000000000..55e500aaff Binary files /dev/null and "b/problems/images/0051.N\347\232\207\345\220\216-02.jpg" differ diff --git "a/problems/images/0051.N\347\232\207\345\220\216-03.jpg" "b/problems/images/0051.N\347\232\207\345\220\216-03.jpg" new file mode 100644 index 0000000000..55e500aaff Binary files /dev/null and "b/problems/images/0051.N\347\232\207\345\220\216-03.jpg" differ diff --git "a/problems/images/0052.N\347\232\207\345\220\216II-01.png" "b/problems/images/0052.N\347\232\207\345\220\216II-01.png" new file mode 100644 index 0000000000..be560d35b9 Binary files /dev/null and "b/problems/images/0052.N\347\232\207\345\220\216II-01.png" differ diff --git "a/problems/images/0053.\345\257\273\345\256\235-Kruskal-01.png" "b/problems/images/0053.\345\257\273\345\256\235-Kruskal-01.png" new file mode 100644 index 0000000000..faa64f7fe0 Binary files /dev/null and "b/problems/images/0053.\345\257\273\345\256\235-Kruskal-01.png" differ diff --git "a/problems/images/0053.\345\257\273\345\256\235-Kruskal-02.png" "b/problems/images/0053.\345\257\273\345\256\235-Kruskal-02.png" new file mode 100644 index 0000000000..98d41b99c5 Binary files /dev/null and "b/problems/images/0053.\345\257\273\345\256\235-Kruskal-02.png" differ diff --git "a/problems/images/0053.\345\257\273\345\256\235-Kruskal-03.png" "b/problems/images/0053.\345\257\273\345\256\235-Kruskal-03.png" new file mode 100644 index 0000000000..9d3e30c584 Binary files /dev/null and "b/problems/images/0053.\345\257\273\345\256\235-Kruskal-03.png" differ diff --git "a/problems/images/0053.\345\257\273\345\256\235-Kruskal-04.png" "b/problems/images/0053.\345\257\273\345\256\235-Kruskal-04.png" new file mode 100644 index 0000000000..98dbad0a7e Binary files /dev/null and "b/problems/images/0053.\345\257\273\345\256\235-Kruskal-04.png" differ diff --git "a/problems/images/0053.\345\257\273\345\256\235-Kruskal-05.png" "b/problems/images/0053.\345\257\273\345\256\235-Kruskal-05.png" new file mode 100644 index 0000000000..9303119d03 Binary files /dev/null and "b/problems/images/0053.\345\257\273\345\256\235-Kruskal-05.png" differ diff --git "a/problems/images/0053.\345\257\273\345\256\235-Kruskal-06.png" "b/problems/images/0053.\345\257\273\345\256\235-Kruskal-06.png" new file mode 100644 index 0000000000..f1d5869ffb Binary files /dev/null and "b/problems/images/0053.\345\257\273\345\256\235-Kruskal-06.png" differ diff --git "a/problems/images/0053.\345\257\273\345\256\235-Kruskal-07.png" "b/problems/images/0053.\345\257\273\345\256\235-Kruskal-07.png" new file mode 100644 index 0000000000..d8e30031c6 Binary files /dev/null and "b/problems/images/0053.\345\257\273\345\256\235-Kruskal-07.png" differ diff --git "a/problems/images/0053.\345\257\273\345\256\235-Kruskal-08.png" "b/problems/images/0053.\345\257\273\345\256\235-Kruskal-08.png" new file mode 100644 index 0000000000..d8e30031c6 Binary files /dev/null and "b/problems/images/0053.\345\257\273\345\256\235-Kruskal-08.png" differ diff --git "a/problems/images/0053.\345\257\273\345\256\235-Kruskal-09.png" "b/problems/images/0053.\345\257\273\345\256\235-Kruskal-09.png" new file mode 100644 index 0000000000..7543943b9a Binary files /dev/null and "b/problems/images/0053.\345\257\273\345\256\235-Kruskal-09.png" differ diff --git "a/problems/images/0053.\345\257\273\345\256\235-Kruskal-10.png" "b/problems/images/0053.\345\257\273\345\256\235-Kruskal-10.png" new file mode 100644 index 0000000000..3cdce705f4 Binary files /dev/null and "b/problems/images/0053.\345\257\273\345\256\235-Kruskal-10.png" differ diff --git "a/problems/images/0053.\345\257\273\345\256\235-prim-01.png" "b/problems/images/0053.\345\257\273\345\256\235-prim-01.png" new file mode 100644 index 0000000000..537c3a76e1 Binary files /dev/null and "b/problems/images/0053.\345\257\273\345\256\235-prim-01.png" differ diff --git "a/problems/images/0053.\345\257\273\345\256\235-prim-02.png" "b/problems/images/0053.\345\257\273\345\256\235-prim-02.png" new file mode 100644 index 0000000000..2294c7c11b Binary files /dev/null and "b/problems/images/0053.\345\257\273\345\256\235-prim-02.png" differ diff --git "a/problems/images/0053.\345\257\273\345\256\235-prim-03.png" "b/problems/images/0053.\345\257\273\345\256\235-prim-03.png" new file mode 100644 index 0000000000..47943fe03b Binary files /dev/null and "b/problems/images/0053.\345\257\273\345\256\235-prim-03.png" differ diff --git "a/problems/images/0053.\345\257\273\345\256\235-prim-04.png" "b/problems/images/0053.\345\257\273\345\256\235-prim-04.png" new file mode 100644 index 0000000000..ac00c517d1 Binary files /dev/null and "b/problems/images/0053.\345\257\273\345\256\235-prim-04.png" differ diff --git "a/problems/images/0053.\345\257\273\345\256\235-prim-05.png" "b/problems/images/0053.\345\257\273\345\256\235-prim-05.png" new file mode 100644 index 0000000000..1e5b594a4a Binary files /dev/null and "b/problems/images/0053.\345\257\273\345\256\235-prim-05.png" differ diff --git "a/problems/images/0053.\345\257\273\345\256\235-prim-06.png" "b/problems/images/0053.\345\257\273\345\256\235-prim-06.png" new file mode 100644 index 0000000000..6629ba82e3 Binary files /dev/null and "b/problems/images/0053.\345\257\273\345\256\235-prim-06.png" differ diff --git "a/problems/images/0053.\345\257\273\345\256\235-prim-07.png" "b/problems/images/0053.\345\257\273\345\256\235-prim-07.png" new file mode 100644 index 0000000000..a8a881390b Binary files /dev/null and "b/problems/images/0053.\345\257\273\345\256\235-prim-07.png" differ diff --git "a/problems/images/0053.\345\257\273\345\256\235-prim-08.png" "b/problems/images/0053.\345\257\273\345\256\235-prim-08.png" new file mode 100644 index 0000000000..03bf2f311e Binary files /dev/null and "b/problems/images/0053.\345\257\273\345\256\235-prim-08.png" differ diff --git "a/problems/images/0053.\345\257\273\345\256\235-prim-09.png" "b/problems/images/0053.\345\257\273\345\256\235-prim-09.png" new file mode 100644 index 0000000000..f2c97640ec Binary files /dev/null and "b/problems/images/0053.\345\257\273\345\256\235-prim-09.png" differ diff --git "a/problems/images/0053.\345\257\273\345\256\235-prim-10.png" "b/problems/images/0053.\345\257\273\345\256\235-prim-10.png" new file mode 100644 index 0000000000..dff20e05a6 Binary files /dev/null and "b/problems/images/0053.\345\257\273\345\256\235-prim-10.png" differ diff --git "a/problems/images/0053.\345\257\273\345\256\235-prim-11.png" "b/problems/images/0053.\345\257\273\345\256\235-prim-11.png" new file mode 100644 index 0000000000..b25b8cd48b Binary files /dev/null and "b/problems/images/0053.\345\257\273\345\256\235-prim-11.png" differ diff --git "a/problems/images/0053.\346\234\200\345\244\247\345\255\220\345\272\217\345\222\214-01.gif" "b/problems/images/0053.\346\234\200\345\244\247\345\255\220\345\272\217\345\222\214-01.gif" new file mode 100644 index 0000000000..7514a5acb2 Binary files /dev/null and "b/problems/images/0053.\346\234\200\345\244\247\345\255\220\345\272\217\345\222\214-01.gif" differ diff --git "a/problems/images/0053.\346\234\200\345\244\247\345\255\220\345\272\217\345\222\214\357\274\210\345\212\250\346\200\201\350\247\204\345\210\222\357\274\211-01.png" "b/problems/images/0053.\346\234\200\345\244\247\345\255\220\345\272\217\345\222\214\357\274\210\345\212\250\346\200\201\350\247\204\345\210\222\357\274\211-01.png" new file mode 100644 index 0000000000..a04622a673 Binary files /dev/null and "b/problems/images/0053.\346\234\200\345\244\247\345\255\220\345\272\217\345\222\214\357\274\210\345\212\250\346\200\201\350\247\204\345\210\222\357\274\211-01.png" differ diff --git "a/problems/images/0054.\346\233\277\346\215\242\346\225\260\345\255\227-01.png" "b/problems/images/0054.\346\233\277\346\215\242\346\225\260\345\255\227-01.png" new file mode 100644 index 0000000000..43a96ba5af Binary files /dev/null and "b/problems/images/0054.\346\233\277\346\215\242\346\225\260\345\255\227-01.png" differ diff --git "a/problems/images/0054.\346\233\277\346\215\242\346\225\260\345\255\227-02.png" "b/problems/images/0054.\346\233\277\346\215\242\346\225\260\345\255\227-02.png" new file mode 100644 index 0000000000..ca43ef47dc Binary files /dev/null and "b/problems/images/0054.\346\233\277\346\215\242\346\225\260\345\255\227-02.png" differ diff --git "a/problems/images/0054.\350\236\272\346\227\213\347\237\251\351\230\265-01.png" "b/problems/images/0054.\350\236\272\346\227\213\347\237\251\351\230\265-01.png" new file mode 100644 index 0000000000..f8d65294d6 Binary files /dev/null and "b/problems/images/0054.\350\236\272\346\227\213\347\237\251\351\230\265-01.png" differ diff --git "a/problems/images/0055.\345\217\263\346\227\213\345\255\227\347\254\246\344\270\262-01.png" "b/problems/images/0055.\345\217\263\346\227\213\345\255\227\347\254\246\344\270\262-01.png" new file mode 100644 index 0000000000..bb79cd1873 Binary files /dev/null and "b/problems/images/0055.\345\217\263\346\227\213\345\255\227\347\254\246\344\270\262-01.png" differ diff --git "a/problems/images/0055.\345\217\263\346\227\213\345\255\227\347\254\246\344\270\262-02.png" "b/problems/images/0055.\345\217\263\346\227\213\345\255\227\347\254\246\344\270\262-02.png" new file mode 100644 index 0000000000..b48b1caaeb Binary files /dev/null and "b/problems/images/0055.\345\217\263\346\227\213\345\255\227\347\254\246\344\270\262-02.png" differ diff --git "a/problems/images/0055.\345\217\263\346\227\213\345\255\227\347\254\246\344\270\262-03.png" "b/problems/images/0055.\345\217\263\346\227\213\345\255\227\347\254\246\344\270\262-03.png" new file mode 100644 index 0000000000..eaf7bf627a Binary files /dev/null and "b/problems/images/0055.\345\217\263\346\227\213\345\255\227\347\254\246\344\270\262-03.png" differ diff --git "a/problems/images/0055.\345\217\263\346\227\213\345\255\227\347\254\246\344\270\262-04.png" "b/problems/images/0055.\345\217\263\346\227\213\345\255\227\347\254\246\344\270\262-04.png" new file mode 100644 index 0000000000..23d234b829 Binary files /dev/null and "b/problems/images/0055.\345\217\263\346\227\213\345\255\227\347\254\246\344\270\262-04.png" differ diff --git "a/problems/images/0055.\350\267\263\350\267\203\346\270\270\346\210\217-01.png" "b/problems/images/0055.\350\267\263\350\267\203\346\270\270\346\210\217-01.png" new file mode 100644 index 0000000000..d42e2188e2 Binary files /dev/null and "b/problems/images/0055.\350\267\263\350\267\203\346\270\270\346\210\217-01.png" differ diff --git "a/problems/images/0056.\345\220\210\345\271\266\345\214\272\351\227\264-01.png" "b/problems/images/0056.\345\220\210\345\271\266\345\214\272\351\227\264-01.png" new file mode 100644 index 0000000000..ff905c72f7 Binary files /dev/null and "b/problems/images/0056.\345\220\210\345\271\266\345\214\272\351\227\264-01.png" differ diff --git "a/problems/images/0058.\345\214\272\351\227\264\345\222\214-01.png" "b/problems/images/0058.\345\214\272\351\227\264\345\222\214-01.png" new file mode 100644 index 0000000000..1213df2593 Binary files /dev/null and "b/problems/images/0058.\345\214\272\351\227\264\345\222\214-01.png" differ diff --git "a/problems/images/0058.\345\214\272\351\227\264\345\222\214-02.png" "b/problems/images/0058.\345\214\272\351\227\264\345\222\214-02.png" new file mode 100644 index 0000000000..1c62eb7e92 Binary files /dev/null and "b/problems/images/0058.\345\214\272\351\227\264\345\222\214-02.png" differ diff --git "a/problems/images/0059.\350\236\272\346\227\213\347\237\251\351\230\265II-01.png" "b/problems/images/0059.\350\236\272\346\227\213\347\237\251\351\230\265II-01.png" new file mode 100644 index 0000000000..f8d65294d6 Binary files /dev/null and "b/problems/images/0059.\350\236\272\346\227\213\347\237\251\351\230\265II-01.png" differ diff --git "a/problems/images/0062.\344\270\215\345\220\214\350\267\257\345\276\204-01.png" "b/problems/images/0062.\344\270\215\345\220\214\350\267\257\345\276\204-01.png" new file mode 100644 index 0000000000..70fe45b4c3 Binary files /dev/null and "b/problems/images/0062.\344\270\215\345\220\214\350\267\257\345\276\204-01.png" differ diff --git "a/problems/images/0062.\344\270\215\345\220\214\350\267\257\345\276\204-02.png" "b/problems/images/0062.\344\270\215\345\220\214\350\267\257\345\276\204-02.png" new file mode 100644 index 0000000000..d82c6ed03a Binary files /dev/null and "b/problems/images/0062.\344\270\215\345\220\214\350\267\257\345\276\204-02.png" differ diff --git "a/problems/images/0062.\344\270\215\345\220\214\350\267\257\345\276\204-03.png" "b/problems/images/0062.\344\270\215\345\220\214\350\267\257\345\276\204-03.png" new file mode 100644 index 0000000000..0d84838d7d Binary files /dev/null and "b/problems/images/0062.\344\270\215\345\220\214\350\267\257\345\276\204-03.png" differ diff --git "a/problems/images/0062.\344\270\215\345\220\214\350\267\257\345\276\204-04.png" "b/problems/images/0062.\344\270\215\345\220\214\350\267\257\345\276\204-04.png" new file mode 100644 index 0000000000..d82c6ed03a Binary files /dev/null and "b/problems/images/0062.\344\270\215\345\220\214\350\267\257\345\276\204-04.png" differ diff --git "a/problems/images/0062.\344\270\215\345\220\214\350\267\257\345\276\204-05.png" "b/problems/images/0062.\344\270\215\345\220\214\350\267\257\345\276\204-05.png" new file mode 100644 index 0000000000..9198490190 Binary files /dev/null and "b/problems/images/0062.\344\270\215\345\220\214\350\267\257\345\276\204-05.png" differ diff --git "a/problems/images/0063.\344\270\215\345\220\214\350\267\257\345\276\204II-01.png" "b/problems/images/0063.\344\270\215\345\220\214\350\267\257\345\276\204II-01.png" new file mode 100644 index 0000000000..a28afaf643 Binary files /dev/null and "b/problems/images/0063.\344\270\215\345\220\214\350\267\257\345\276\204II-01.png" differ diff --git "a/problems/images/0063.\344\270\215\345\220\214\350\267\257\345\276\204II-02.png" "b/problems/images/0063.\344\270\215\345\220\214\350\267\257\345\276\204II-02.png" new file mode 100644 index 0000000000..de0d0434db Binary files /dev/null and "b/problems/images/0063.\344\270\215\345\220\214\350\267\257\345\276\204II-02.png" differ diff --git "a/problems/images/0063.\344\270\215\345\220\214\350\267\257\345\276\204II-03.png" "b/problems/images/0063.\344\270\215\345\220\214\350\267\257\345\276\204II-03.png" new file mode 100644 index 0000000000..326b213b31 Binary files /dev/null and "b/problems/images/0063.\344\270\215\345\220\214\350\267\257\345\276\204II-03.png" differ diff --git "a/problems/images/0063.\344\270\215\345\220\214\350\267\257\345\276\204II-04.png" "b/problems/images/0063.\344\270\215\345\220\214\350\267\257\345\276\204II-04.png" new file mode 100644 index 0000000000..4089187c32 Binary files /dev/null and "b/problems/images/0063.\344\270\215\345\220\214\350\267\257\345\276\204II-04.png" differ diff --git "a/problems/images/0063.\344\270\215\345\220\214\350\267\257\345\276\204II-05.png" "b/problems/images/0063.\344\270\215\345\220\214\350\267\257\345\276\204II-05.png" new file mode 100644 index 0000000000..a6a7f107bf Binary files /dev/null and "b/problems/images/0063.\344\270\215\345\220\214\350\267\257\345\276\204II-05.png" differ diff --git "a/problems/images/0063.\344\270\215\345\220\214\350\267\257\345\276\204II-06.png" "b/problems/images/0063.\344\270\215\345\220\214\350\267\257\345\276\204II-06.png" new file mode 100644 index 0000000000..1b377170f9 Binary files /dev/null and "b/problems/images/0063.\344\270\215\345\220\214\350\267\257\345\276\204II-06.png" differ diff --git "a/problems/images/0070.\347\210\254\346\245\274\346\242\257-01.png" "b/problems/images/0070.\347\210\254\346\245\274\346\242\257-01.png" new file mode 100644 index 0000000000..04ad2917fa Binary files /dev/null and "b/problems/images/0070.\347\210\254\346\245\274\346\242\257-01.png" differ diff --git "a/problems/images/0072.\347\274\226\350\276\221\350\267\235\347\246\273-01.jpg" "b/problems/images/0072.\347\274\226\350\276\221\350\267\235\347\246\273-01.jpg" new file mode 100644 index 0000000000..dd62df1ea5 Binary files /dev/null and "b/problems/images/0072.\347\274\226\350\276\221\350\267\235\347\246\273-01.jpg" differ diff --git "a/problems/images/0072.\347\274\226\350\276\221\350\267\235\347\246\273-02.jpg" "b/problems/images/0072.\347\274\226\350\276\221\350\267\235\347\246\273-02.jpg" new file mode 100644 index 0000000000..bec2e98c52 Binary files /dev/null and "b/problems/images/0072.\347\274\226\350\276\221\350\267\235\347\246\273-02.jpg" differ diff --git "a/problems/images/0077.\347\273\204\345\220\210-01.png" "b/problems/images/0077.\347\273\204\345\220\210-01.png" new file mode 100644 index 0000000000..17cde49318 Binary files /dev/null and "b/problems/images/0077.\347\273\204\345\220\210-01.png" differ diff --git "a/problems/images/0077.\347\273\204\345\220\210-02.png" "b/problems/images/0077.\347\273\204\345\220\210-02.png" new file mode 100644 index 0000000000..94e305b640 Binary files /dev/null and "b/problems/images/0077.\347\273\204\345\220\210-02.png" differ diff --git "a/problems/images/0077.\347\273\204\345\220\210-03.png" "b/problems/images/0077.\347\273\204\345\220\210-03.png" new file mode 100644 index 0000000000..4ba7354996 Binary files /dev/null and "b/problems/images/0077.\347\273\204\345\220\210-03.png" differ diff --git "a/problems/images/0077.\347\273\204\345\220\210-04.png" "b/problems/images/0077.\347\273\204\345\220\210-04.png" new file mode 100644 index 0000000000..a6a4a27217 Binary files /dev/null and "b/problems/images/0077.\347\273\204\345\220\210-04.png" differ diff --git "a/problems/images/0077.\347\273\204\345\220\210-05.png" "b/problems/images/0077.\347\273\204\345\220\210-05.png" new file mode 100644 index 0000000000..b2519ccde3 Binary files /dev/null and "b/problems/images/0077.\347\273\204\345\220\210-05.png" differ diff --git "a/problems/images/0077.\347\273\204\345\220\210\344\274\230\345\214\226-01.png" "b/problems/images/0077.\347\273\204\345\220\210\344\274\230\345\214\226-01.png" new file mode 100644 index 0000000000..b2519ccde3 Binary files /dev/null and "b/problems/images/0077.\347\273\204\345\220\210\344\274\230\345\214\226-01.png" differ diff --git "a/problems/images/0078.\345\255\220\351\233\206-01.png" "b/problems/images/0078.\345\255\220\351\233\206-01.png" new file mode 100644 index 0000000000..1700030fcf Binary files /dev/null and "b/problems/images/0078.\345\255\220\351\233\206-01.png" differ diff --git "a/problems/images/0078.\345\255\220\351\233\206-02.png" "b/problems/images/0078.\345\255\220\351\233\206-02.png" new file mode 100644 index 0000000000..1700030fcf Binary files /dev/null and "b/problems/images/0078.\345\255\220\351\233\206-02.png" differ diff --git "a/problems/images/0084.\346\237\261\347\212\266\345\233\276\344\270\255\346\234\200\345\244\247\347\232\204\347\237\251\345\275\242-01.png" "b/problems/images/0084.\346\237\261\347\212\266\345\233\276\344\270\255\346\234\200\345\244\247\347\232\204\347\237\251\345\275\242-01.png" new file mode 100644 index 0000000000..ea3e2d206f Binary files /dev/null and "b/problems/images/0084.\346\237\261\347\212\266\345\233\276\344\270\255\346\234\200\345\244\247\347\232\204\347\237\251\345\275\242-01.png" differ diff --git "a/problems/images/0084.\346\237\261\347\212\266\345\233\276\344\270\255\346\234\200\345\244\247\347\232\204\347\237\251\345\275\242-02.png" "b/problems/images/0084.\346\237\261\347\212\266\345\233\276\344\270\255\346\234\200\345\244\247\347\232\204\347\237\251\345\275\242-02.png" new file mode 100644 index 0000000000..4b474a2fa7 Binary files /dev/null and "b/problems/images/0084.\346\237\261\347\212\266\345\233\276\344\270\255\346\234\200\345\244\247\347\232\204\347\237\251\345\275\242-02.png" differ diff --git "a/problems/images/0084.\346\237\261\347\212\266\345\233\276\344\270\255\346\234\200\345\244\247\347\232\204\347\237\251\345\275\242-03.png" "b/problems/images/0084.\346\237\261\347\212\266\345\233\276\344\270\255\346\234\200\345\244\247\347\232\204\347\237\251\345\275\242-03.png" new file mode 100644 index 0000000000..3dd2e2a572 Binary files /dev/null and "b/problems/images/0084.\346\237\261\347\212\266\345\233\276\344\270\255\346\234\200\345\244\247\347\232\204\347\237\251\345\275\242-03.png" differ diff --git "a/problems/images/0084.\346\237\261\347\212\266\345\233\276\344\270\255\346\234\200\345\244\247\347\232\204\347\237\251\345\275\242-04.png" "b/problems/images/0084.\346\237\261\347\212\266\345\233\276\344\270\255\346\234\200\345\244\247\347\232\204\347\237\251\345\275\242-04.png" new file mode 100644 index 0000000000..4d51419ec6 Binary files /dev/null and "b/problems/images/0084.\346\237\261\347\212\266\345\233\276\344\270\255\346\234\200\345\244\247\347\232\204\347\237\251\345\275\242-04.png" differ diff --git "a/problems/images/0084.\346\237\261\347\212\266\345\233\276\344\270\255\346\234\200\345\244\247\347\232\204\347\237\251\345\275\242-05.png" "b/problems/images/0084.\346\237\261\347\212\266\345\233\276\344\270\255\346\234\200\345\244\247\347\232\204\347\237\251\345\275\242-05.png" new file mode 100644 index 0000000000..950025e96a Binary files /dev/null and "b/problems/images/0084.\346\237\261\347\212\266\345\233\276\344\270\255\346\234\200\345\244\247\347\232\204\347\237\251\345\275\242-05.png" differ diff --git "a/problems/images/0090.\345\255\220\351\233\206II-01.png" "b/problems/images/0090.\345\255\220\351\233\206II-01.png" new file mode 100644 index 0000000000..972010f60a Binary files /dev/null and "b/problems/images/0090.\345\255\220\351\233\206II-01.png" differ diff --git "a/problems/images/0093.\345\244\215\345\216\237IP\345\234\260\345\235\200-01.png" "b/problems/images/0093.\345\244\215\345\216\237IP\345\234\260\345\235\200-01.png" new file mode 100644 index 0000000000..63d11f2efb Binary files /dev/null and "b/problems/images/0093.\345\244\215\345\216\237IP\345\234\260\345\235\200-01.png" differ diff --git "a/problems/images/0093.\345\244\215\345\216\237IP\345\234\260\345\235\200-02.png" "b/problems/images/0093.\345\244\215\345\216\237IP\345\234\260\345\235\200-02.png" new file mode 100644 index 0000000000..63d11f2efb Binary files /dev/null and "b/problems/images/0093.\345\244\215\345\216\237IP\345\234\260\345\235\200-02.png" differ diff --git "a/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-01.png" "b/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-01.png" new file mode 100644 index 0000000000..c9c0879089 Binary files /dev/null and "b/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-01.png" differ diff --git "a/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-02.png" "b/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-02.png" new file mode 100644 index 0000000000..4331adef26 Binary files /dev/null and "b/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-02.png" differ diff --git "a/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-03.png" "b/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-03.png" new file mode 100644 index 0000000000..ca0a3d9962 Binary files /dev/null and "b/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-03.png" differ diff --git "a/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-04.png" "b/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-04.png" new file mode 100644 index 0000000000..b5a1bee785 Binary files /dev/null and "b/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-04.png" differ diff --git "a/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-05.png" "b/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-05.png" new file mode 100644 index 0000000000..0d701279a9 Binary files /dev/null and "b/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-05.png" differ diff --git "a/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-06.png" "b/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-06.png" new file mode 100644 index 0000000000..6d9853f4ab Binary files /dev/null and "b/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-06.png" differ diff --git "a/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-07.png" "b/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-07.png" new file mode 100644 index 0000000000..77995c0a47 Binary files /dev/null and "b/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-07.png" differ diff --git "a/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-08.png" "b/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-08.png" new file mode 100644 index 0000000000..6c00cae695 Binary files /dev/null and "b/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-08.png" differ diff --git "a/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-09.png" "b/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-09.png" new file mode 100644 index 0000000000..4760281146 Binary files /dev/null and "b/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-09.png" differ diff --git "a/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-10.png" "b/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-10.png" new file mode 100644 index 0000000000..24fcd9e0f6 Binary files /dev/null and "b/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-10.png" differ diff --git "a/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-SPFA-01.png" "b/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-SPFA-01.png" new file mode 100644 index 0000000000..ca0a3d9962 Binary files /dev/null and "b/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-SPFA-01.png" differ diff --git "a/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-SPFA-02.png" "b/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-SPFA-02.png" new file mode 100644 index 0000000000..be4279bb16 Binary files /dev/null and "b/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-SPFA-02.png" differ diff --git "a/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-SPFA-03.png" "b/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-SPFA-03.png" new file mode 100644 index 0000000000..679d7b142d Binary files /dev/null and "b/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-SPFA-03.png" differ diff --git "a/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-SPFA-04.png" "b/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-SPFA-04.png" new file mode 100644 index 0000000000..58798c61dd Binary files /dev/null and "b/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-SPFA-04.png" differ diff --git "a/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-SPFA-05.png" "b/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-SPFA-05.png" new file mode 100644 index 0000000000..d1f26e07da Binary files /dev/null and "b/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-SPFA-05.png" differ diff --git "a/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-SPFA-06.png" "b/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-SPFA-06.png" new file mode 100644 index 0000000000..4af2093502 Binary files /dev/null and "b/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-SPFA-06.png" differ diff --git "a/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-SPFA-07.png" "b/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-SPFA-07.png" new file mode 100644 index 0000000000..4b00ebba49 Binary files /dev/null and "b/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-SPFA-07.png" differ diff --git "a/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-SPFA-08.png" "b/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-SPFA-08.png" new file mode 100644 index 0000000000..4f3ce13472 Binary files /dev/null and "b/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-SPFA-08.png" differ diff --git "a/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-SPFA-09.png" "b/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-SPFA-09.png" new file mode 100644 index 0000000000..f203d71546 Binary files /dev/null and "b/problems/images/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-SPFA-09.png" differ diff --git "a/problems/images/0095.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223II-01.png" "b/problems/images/0095.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223II-01.png" new file mode 100644 index 0000000000..df0730c335 Binary files /dev/null and "b/problems/images/0095.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223II-01.png" differ diff --git "a/problems/images/0095.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223II-02.png" "b/problems/images/0095.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223II-02.png" new file mode 100644 index 0000000000..41b7096390 Binary files /dev/null and "b/problems/images/0095.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223II-02.png" differ diff --git "a/problems/images/0096.\344\270\215\345\220\214\347\232\204\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-01.png" "b/problems/images/0096.\344\270\215\345\220\214\347\232\204\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-01.png" new file mode 100644 index 0000000000..e45cfb0d1c Binary files /dev/null and "b/problems/images/0096.\344\270\215\345\220\214\347\232\204\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-01.png" differ diff --git "a/problems/images/0096.\344\270\215\345\220\214\347\232\204\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-02.png" "b/problems/images/0096.\344\270\215\345\220\214\347\232\204\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-02.png" new file mode 100644 index 0000000000..6ca3cc6032 Binary files /dev/null and "b/problems/images/0096.\344\270\215\345\220\214\347\232\204\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-02.png" differ diff --git "a/problems/images/0096.\344\270\215\345\220\214\347\232\204\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-03.png" "b/problems/images/0096.\344\270\215\345\220\214\347\232\204\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-03.png" new file mode 100644 index 0000000000..0eada9e3f0 Binary files /dev/null and "b/problems/images/0096.\344\270\215\345\220\214\347\232\204\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-03.png" differ diff --git "a/problems/images/0096.\344\270\215\345\220\214\347\232\204\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-04.png" "b/problems/images/0096.\344\270\215\345\220\214\347\232\204\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-04.png" new file mode 100644 index 0000000000..0c32f689f0 Binary files /dev/null and "b/problems/images/0096.\344\270\215\345\220\214\347\232\204\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-04.png" differ diff --git "a/problems/images/0096.\344\270\215\345\220\214\347\232\204\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-05.png" "b/problems/images/0096.\344\270\215\345\220\214\347\232\204\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-05.png" new file mode 100644 index 0000000000..6c9ba0ad49 Binary files /dev/null and "b/problems/images/0096.\344\270\215\345\220\214\347\232\204\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-05.png" differ diff --git "a/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-01.png" "b/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-01.png" new file mode 100644 index 0000000000..eba905cfd6 Binary files /dev/null and "b/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-01.png" differ diff --git "a/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-02.png" "b/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-02.png" new file mode 100644 index 0000000000..e8d2271891 Binary files /dev/null and "b/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-02.png" differ diff --git "a/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-03.png" "b/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-03.png" new file mode 100644 index 0000000000..dbe6303be6 Binary files /dev/null and "b/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-03.png" differ diff --git "a/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-04.png" "b/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-04.png" new file mode 100644 index 0000000000..dfc316c7c7 Binary files /dev/null and "b/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-04.png" differ diff --git "a/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-05.png" "b/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-05.png" new file mode 100644 index 0000000000..ada1c9d7cf Binary files /dev/null and "b/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-05.png" differ diff --git "a/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-06.png" "b/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-06.png" new file mode 100644 index 0000000000..01b8425d9b Binary files /dev/null and "b/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-06.png" differ diff --git "a/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-07.png" "b/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-07.png" new file mode 100644 index 0000000000..dfc316c7c7 Binary files /dev/null and "b/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-07.png" differ diff --git "a/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-08.png" "b/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-08.png" new file mode 100644 index 0000000000..da24861849 Binary files /dev/null and "b/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-08.png" differ diff --git "a/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-09.png" "b/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-09.png" new file mode 100644 index 0000000000..39abf142d5 Binary files /dev/null and "b/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-09.png" differ diff --git "a/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-10.png" "b/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-10.png" new file mode 100644 index 0000000000..6dcebd9fe9 Binary files /dev/null and "b/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-10.png" differ diff --git "a/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-11.png" "b/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-11.png" new file mode 100644 index 0000000000..6fc0569b50 Binary files /dev/null and "b/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-11.png" differ diff --git "a/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-12.png" "b/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-12.png" new file mode 100644 index 0000000000..1c5dd43c5e Binary files /dev/null and "b/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-12.png" differ diff --git "a/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-13.png" "b/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-13.png" new file mode 100644 index 0000000000..b9abb4cb16 Binary files /dev/null and "b/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-13.png" differ diff --git "a/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-14.png" "b/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-14.png" new file mode 100644 index 0000000000..3c4d797749 Binary files /dev/null and "b/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-14.png" differ diff --git "a/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-15.png" "b/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-15.png" new file mode 100644 index 0000000000..21e12c2c5e Binary files /dev/null and "b/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-15.png" differ diff --git "a/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-16.png" "b/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-16.png" new file mode 100644 index 0000000000..1fd2d04069 Binary files /dev/null and "b/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-16.png" differ diff --git "a/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-17.png" "b/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-17.png" new file mode 100644 index 0000000000..28381cb68e Binary files /dev/null and "b/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-17.png" differ diff --git "a/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-18.png" "b/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-18.png" new file mode 100644 index 0000000000..8dc52ded05 Binary files /dev/null and "b/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-18.png" differ diff --git "a/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-19.png" "b/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-19.png" new file mode 100644 index 0000000000..fb5de870f9 Binary files /dev/null and "b/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-19.png" differ diff --git "a/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-20.png" "b/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-20.png" new file mode 100644 index 0000000000..172ea4ae72 Binary files /dev/null and "b/problems/images/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III-20.png" differ diff --git "a/problems/images/0097.\345\260\217\346\230\216\351\200\233\345\205\254\345\233\255-01.png" "b/problems/images/0097.\345\260\217\346\230\216\351\200\233\345\205\254\345\233\255-01.png" new file mode 100644 index 0000000000..b33bf0cb75 Binary files /dev/null and "b/problems/images/0097.\345\260\217\346\230\216\351\200\233\345\205\254\345\233\255-01.png" differ diff --git "a/problems/images/0097.\345\260\217\346\230\216\351\200\233\345\205\254\345\233\255-02.png" "b/problems/images/0097.\345\260\217\346\230\216\351\200\233\345\205\254\345\233\255-02.png" new file mode 100644 index 0000000000..36b1b3707e Binary files /dev/null and "b/problems/images/0097.\345\260\217\346\230\216\351\200\233\345\205\254\345\233\255-02.png" differ diff --git "a/problems/images/0097.\345\260\217\346\230\216\351\200\233\345\205\254\345\233\255-03.png" "b/problems/images/0097.\345\260\217\346\230\216\351\200\233\345\205\254\345\233\255-03.png" new file mode 100644 index 0000000000..e1bc7b3320 Binary files /dev/null and "b/problems/images/0097.\345\260\217\346\230\216\351\200\233\345\205\254\345\233\255-03.png" differ diff --git "a/problems/images/0097.\345\260\217\346\230\216\351\200\233\345\205\254\345\233\255-04.png" "b/problems/images/0097.\345\260\217\346\230\216\351\200\233\345\205\254\345\233\255-04.png" new file mode 100644 index 0000000000..9612910fec Binary files /dev/null and "b/problems/images/0097.\345\260\217\346\230\216\351\200\233\345\205\254\345\233\255-04.png" differ diff --git "a/problems/images/0097.\345\260\217\346\230\216\351\200\233\345\205\254\345\233\255-05.png" "b/problems/images/0097.\345\260\217\346\230\216\351\200\233\345\205\254\345\233\255-05.png" new file mode 100644 index 0000000000..e1bc7b3320 Binary files /dev/null and "b/problems/images/0097.\345\260\217\346\230\216\351\200\233\345\205\254\345\233\255-05.png" differ diff --git "a/problems/images/0097.\345\260\217\346\230\216\351\200\233\345\205\254\345\233\255-06.png" "b/problems/images/0097.\345\260\217\346\230\216\351\200\233\345\205\254\345\233\255-06.png" new file mode 100644 index 0000000000..397b8c24ab Binary files /dev/null and "b/problems/images/0097.\345\260\217\346\230\216\351\200\233\345\205\254\345\233\255-06.png" differ diff --git "a/problems/images/0098.\346\211\200\346\234\211\345\217\257\350\276\276\350\267\257\345\276\204-01.png" "b/problems/images/0098.\346\211\200\346\234\211\345\217\257\350\276\276\350\267\257\345\276\204-01.png" new file mode 100644 index 0000000000..11c8f0c392 Binary files /dev/null and "b/problems/images/0098.\346\211\200\346\234\211\345\217\257\350\276\276\350\267\257\345\276\204-01.png" differ diff --git "a/problems/images/0098.\346\211\200\346\234\211\345\217\257\350\276\276\350\267\257\345\276\204-02.png" "b/problems/images/0098.\346\211\200\346\234\211\345\217\257\350\276\276\350\267\257\345\276\204-02.png" new file mode 100644 index 0000000000..de82659910 Binary files /dev/null and "b/problems/images/0098.\346\211\200\346\234\211\345\217\257\350\276\276\350\267\257\345\276\204-02.png" differ diff --git "a/problems/images/0098.\351\252\214\350\257\201\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-01.png" "b/problems/images/0098.\351\252\214\350\257\201\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-01.png" new file mode 100644 index 0000000000..d4d5480865 Binary files /dev/null and "b/problems/images/0098.\351\252\214\350\257\201\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-01.png" differ diff --git "a/problems/images/0098.\351\252\214\350\257\201\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-02.png" "b/problems/images/0098.\351\252\214\350\257\201\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-02.png" new file mode 100644 index 0000000000..3a6945a539 Binary files /dev/null and "b/problems/images/0098.\351\252\214\350\257\201\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-02.png" differ diff --git "a/problems/images/0099.\345\262\233\345\261\277\347\232\204\346\225\260\351\207\217\345\271\277\346\220\234-01.png" "b/problems/images/0099.\345\262\233\345\261\277\347\232\204\346\225\260\351\207\217\345\271\277\346\220\234-01.png" new file mode 100644 index 0000000000..3ef68296b8 Binary files /dev/null and "b/problems/images/0099.\345\262\233\345\261\277\347\232\204\346\225\260\351\207\217\345\271\277\346\220\234-01.png" differ diff --git "a/problems/images/0099.\345\262\233\345\261\277\347\232\204\346\225\260\351\207\217\345\271\277\346\220\234-02.png" "b/problems/images/0099.\345\262\233\345\261\277\347\232\204\346\225\260\351\207\217\345\271\277\346\220\234-02.png" new file mode 100644 index 0000000000..f9dd723d7b Binary files /dev/null and "b/problems/images/0099.\345\262\233\345\261\277\347\232\204\346\225\260\351\207\217\345\271\277\346\220\234-02.png" differ diff --git "a/problems/images/0099.\345\262\233\345\261\277\347\232\204\346\225\260\351\207\217\345\271\277\346\220\234-03.png" "b/problems/images/0099.\345\262\233\345\261\277\347\232\204\346\225\260\351\207\217\345\271\277\346\220\234-03.png" new file mode 100644 index 0000000000..c0d2f811a9 Binary files /dev/null and "b/problems/images/0099.\345\262\233\345\261\277\347\232\204\346\225\260\351\207\217\345\271\277\346\220\234-03.png" differ diff --git "a/problems/images/0099.\345\262\233\345\261\277\347\232\204\346\225\260\351\207\217\346\267\261\346\220\234-01.png" "b/problems/images/0099.\345\262\233\345\261\277\347\232\204\346\225\260\351\207\217\346\267\261\346\220\234-01.png" new file mode 100644 index 0000000000..3ef68296b8 Binary files /dev/null and "b/problems/images/0099.\345\262\233\345\261\277\347\232\204\346\225\260\351\207\217\346\267\261\346\220\234-01.png" differ diff --git "a/problems/images/0099.\345\262\233\345\261\277\347\232\204\346\225\260\351\207\217\346\267\261\346\220\234-02.png" "b/problems/images/0099.\345\262\233\345\261\277\347\232\204\346\225\260\351\207\217\346\267\261\346\220\234-02.png" new file mode 100644 index 0000000000..f9dd723d7b Binary files /dev/null and "b/problems/images/0099.\345\262\233\345\261\277\347\232\204\346\225\260\351\207\217\346\267\261\346\220\234-02.png" differ diff --git "a/problems/images/0100.\345\262\233\345\261\277\347\232\204\346\234\200\345\244\247\351\235\242\347\247\257-01.png" "b/problems/images/0100.\345\262\233\345\261\277\347\232\204\346\234\200\345\244\247\351\235\242\347\247\257-01.png" new file mode 100644 index 0000000000..12f5895cf1 Binary files /dev/null and "b/problems/images/0100.\345\262\233\345\261\277\347\232\204\346\234\200\345\244\247\351\235\242\347\247\257-01.png" differ diff --git "a/problems/images/0100.\345\262\233\345\261\277\347\232\204\346\234\200\345\244\247\351\235\242\347\247\257-02.png" "b/problems/images/0100.\345\262\233\345\261\277\347\232\204\346\234\200\345\244\247\351\235\242\347\247\257-02.png" new file mode 100644 index 0000000000..f9dd723d7b Binary files /dev/null and "b/problems/images/0100.\345\262\233\345\261\277\347\232\204\346\234\200\345\244\247\351\235\242\347\247\257-02.png" differ diff --git "a/problems/images/0100.\347\233\270\345\220\214\347\232\204\346\240\221-01.png" "b/problems/images/0100.\347\233\270\345\220\214\347\232\204\346\240\221-01.png" new file mode 100644 index 0000000000..b88bfba86b Binary files /dev/null and "b/problems/images/0100.\347\233\270\345\220\214\347\232\204\346\240\221-01.png" differ diff --git "a/problems/images/0100.\347\233\270\345\220\214\347\232\204\346\240\221-02.png" "b/problems/images/0100.\347\233\270\345\220\214\347\232\204\346\240\221-02.png" new file mode 100644 index 0000000000..fcd23617e8 Binary files /dev/null and "b/problems/images/0100.\347\233\270\345\220\214\347\232\204\346\240\221-02.png" differ diff --git "a/problems/images/0101.\345\255\244\345\262\233\347\232\204\346\200\273\351\235\242\347\247\257-01.png" "b/problems/images/0101.\345\255\244\345\262\233\347\232\204\346\200\273\351\235\242\347\247\257-01.png" new file mode 100644 index 0000000000..689154dcf9 Binary files /dev/null and "b/problems/images/0101.\345\255\244\345\262\233\347\232\204\346\200\273\351\235\242\347\247\257-01.png" differ diff --git "a/problems/images/0101.\345\255\244\345\262\233\347\232\204\346\200\273\351\235\242\347\247\257-02.png" "b/problems/images/0101.\345\255\244\345\262\233\347\232\204\346\200\273\351\235\242\347\247\257-02.png" new file mode 100644 index 0000000000..e5cfcdd3fb Binary files /dev/null and "b/problems/images/0101.\345\255\244\345\262\233\347\232\204\346\200\273\351\235\242\347\247\257-02.png" differ diff --git "a/problems/images/0101.\345\255\244\345\262\233\347\232\204\346\200\273\351\235\242\347\247\257-03.png" "b/problems/images/0101.\345\255\244\345\262\233\347\232\204\346\200\273\351\235\242\347\247\257-03.png" new file mode 100644 index 0000000000..fbef562a45 Binary files /dev/null and "b/problems/images/0101.\345\255\244\345\262\233\347\232\204\346\200\273\351\235\242\347\247\257-03.png" differ diff --git "a/problems/images/0101.\345\257\271\347\247\260\344\272\214\345\217\211\346\240\221-01.png" "b/problems/images/0101.\345\257\271\347\247\260\344\272\214\345\217\211\346\240\221-01.png" new file mode 100644 index 0000000000..6485026d91 Binary files /dev/null and "b/problems/images/0101.\345\257\271\347\247\260\344\272\214\345\217\211\346\240\221-01.png" differ diff --git "a/problems/images/0101.\345\257\271\347\247\260\344\272\214\345\217\211\346\240\221-02.png" "b/problems/images/0101.\345\257\271\347\247\260\344\272\214\345\217\211\346\240\221-02.png" new file mode 100644 index 0000000000..98286136a1 Binary files /dev/null and "b/problems/images/0101.\345\257\271\347\247\260\344\272\214\345\217\211\346\240\221-02.png" differ diff --git "a/problems/images/0101.\345\257\271\347\247\260\344\272\214\345\217\211\346\240\221-03.gif" "b/problems/images/0101.\345\257\271\347\247\260\344\272\214\345\217\211\346\240\221-03.gif" new file mode 100644 index 0000000000..01ee54922c Binary files /dev/null and "b/problems/images/0101.\345\257\271\347\247\260\344\272\214\345\217\211\346\240\221-03.gif" differ diff --git "a/problems/images/0102.\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\345\272\217\351\201\215\345\216\206-01.gif" "b/problems/images/0102.\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\345\272\217\351\201\215\345\216\206-01.gif" new file mode 100644 index 0000000000..c64eb70a47 Binary files /dev/null and "b/problems/images/0102.\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\345\272\217\351\201\215\345\216\206-01.gif" differ diff --git "a/problems/images/0102.\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\345\272\217\351\201\215\345\216\206-02.png" "b/problems/images/0102.\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\345\272\217\351\201\215\345\216\206-02.png" new file mode 100644 index 0000000000..dcfcf9722a Binary files /dev/null and "b/problems/images/0102.\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\345\272\217\351\201\215\345\216\206-02.png" differ diff --git "a/problems/images/0102.\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\345\272\217\351\201\215\345\216\206-03.gif" "b/problems/images/0102.\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\345\272\217\351\201\215\345\216\206-03.gif" new file mode 100644 index 0000000000..f83c96861e Binary files /dev/null and "b/problems/images/0102.\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\345\272\217\351\201\215\345\216\206-03.gif" differ diff --git "a/problems/images/0102.\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\345\272\217\351\201\215\345\216\206-04.png" "b/problems/images/0102.\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\345\272\217\351\201\215\345\216\206-04.png" new file mode 100644 index 0000000000..b4021c447d Binary files /dev/null and "b/problems/images/0102.\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\345\272\217\351\201\215\345\216\206-04.png" differ diff --git "a/problems/images/0102.\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\345\272\217\351\201\215\345\216\206-05.png" "b/problems/images/0102.\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\345\272\217\351\201\215\345\216\206-05.png" new file mode 100644 index 0000000000..e524411779 Binary files /dev/null and "b/problems/images/0102.\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\345\272\217\351\201\215\345\216\206-05.png" differ diff --git "a/problems/images/0102.\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\345\272\217\351\201\215\345\216\206-06.png" "b/problems/images/0102.\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\345\272\217\351\201\215\345\216\206-06.png" new file mode 100644 index 0000000000..57018daba1 Binary files /dev/null and "b/problems/images/0102.\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\345\272\217\351\201\215\345\216\206-06.png" differ diff --git "a/problems/images/0102.\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\345\272\217\351\201\215\345\216\206-07.png" "b/problems/images/0102.\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\345\272\217\351\201\215\345\216\206-07.png" new file mode 100644 index 0000000000..d28c543c80 Binary files /dev/null and "b/problems/images/0102.\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\345\272\217\351\201\215\345\216\206-07.png" differ diff --git "a/problems/images/0102.\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\345\272\217\351\201\215\345\216\206-08.png" "b/problems/images/0102.\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\345\272\217\351\201\215\345\216\206-08.png" new file mode 100644 index 0000000000..e8f2f4317d Binary files /dev/null and "b/problems/images/0102.\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\345\272\217\351\201\215\345\216\206-08.png" differ diff --git "a/problems/images/0102.\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\345\272\217\351\201\215\345\216\206-09.jpg" "b/problems/images/0102.\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\345\272\217\351\201\215\345\216\206-09.jpg" new file mode 100644 index 0000000000..2daef04441 Binary files /dev/null and "b/problems/images/0102.\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\345\272\217\351\201\215\345\216\206-09.jpg" differ diff --git "a/problems/images/0102.\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\345\272\217\351\201\215\345\216\206-10.png" "b/problems/images/0102.\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\345\272\217\351\201\215\345\216\206-10.png" new file mode 100644 index 0000000000..74873c767e Binary files /dev/null and "b/problems/images/0102.\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\345\272\217\351\201\215\345\216\206-10.png" differ diff --git "a/problems/images/0102.\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\345\272\217\351\201\215\345\216\206-11.png" "b/problems/images/0102.\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\345\272\217\351\201\215\345\216\206-11.png" new file mode 100644 index 0000000000..02347428ef Binary files /dev/null and "b/problems/images/0102.\344\272\214\345\217\211\346\240\221\347\232\204\345\261\202\345\272\217\351\201\215\345\216\206-11.png" differ diff --git "a/problems/images/0102.\346\262\211\346\262\241\345\255\244\345\262\233-01.png" "b/problems/images/0102.\346\262\211\346\262\241\345\255\244\345\262\233-01.png" new file mode 100644 index 0000000000..a3f0357009 Binary files /dev/null and "b/problems/images/0102.\346\262\211\346\262\241\345\255\244\345\262\233-01.png" differ diff --git "a/problems/images/0102.\346\262\211\346\262\241\345\255\244\345\262\233-02.png" "b/problems/images/0102.\346\262\211\346\262\241\345\255\244\345\262\233-02.png" new file mode 100644 index 0000000000..e379da1bc9 Binary files /dev/null and "b/problems/images/0102.\346\262\211\346\262\241\345\255\244\345\262\233-02.png" differ diff --git "a/problems/images/0102.\346\262\211\346\262\241\345\255\244\345\262\233-03.png" "b/problems/images/0102.\346\262\211\346\262\241\345\255\244\345\262\233-03.png" new file mode 100644 index 0000000000..3e8e1746d3 Binary files /dev/null and "b/problems/images/0102.\346\262\211\346\262\241\345\255\244\345\262\233-03.png" differ diff --git "a/problems/images/0103.\346\260\264\346\265\201\351\227\256\351\242\230-01.png" "b/problems/images/0103.\346\260\264\346\265\201\351\227\256\351\242\230-01.png" new file mode 100644 index 0000000000..b04b82e47d Binary files /dev/null and "b/problems/images/0103.\346\260\264\346\265\201\351\227\256\351\242\230-01.png" differ diff --git "a/problems/images/0103.\346\260\264\346\265\201\351\227\256\351\242\230-02.png" "b/problems/images/0103.\346\260\264\346\265\201\351\227\256\351\242\230-02.png" new file mode 100644 index 0000000000..6e9d7aeb60 Binary files /dev/null and "b/problems/images/0103.\346\260\264\346\265\201\351\227\256\351\242\230-02.png" differ diff --git "a/problems/images/0103.\346\260\264\346\265\201\351\227\256\351\242\230-03.png" "b/problems/images/0103.\346\260\264\346\265\201\351\227\256\351\242\230-03.png" new file mode 100644 index 0000000000..d407fa2e8a Binary files /dev/null and "b/problems/images/0103.\346\260\264\346\265\201\351\227\256\351\242\230-03.png" differ diff --git "a/problems/images/0104.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\345\244\247\346\267\261\345\272\246-01.png" "b/problems/images/0104.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\345\244\247\346\267\261\345\272\246-01.png" new file mode 100644 index 0000000000..74873c767e Binary files /dev/null and "b/problems/images/0104.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\345\244\247\346\267\261\345\272\246-01.png" differ diff --git "a/problems/images/0104.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\345\244\247\346\267\261\345\272\246-02.png" "b/problems/images/0104.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\345\244\247\346\267\261\345\272\246-02.png" new file mode 100644 index 0000000000..02347428ef Binary files /dev/null and "b/problems/images/0104.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\345\244\247\346\267\261\345\272\246-02.png" differ diff --git "a/problems/images/0104.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\345\244\247\346\267\261\345\272\246-03.png" "b/problems/images/0104.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\345\244\247\346\267\261\345\272\246-03.png" new file mode 100644 index 0000000000..d28c543c80 Binary files /dev/null and "b/problems/images/0104.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\345\244\247\346\267\261\345\272\246-03.png" differ diff --git "a/problems/images/0104.\345\273\272\351\200\240\346\234\200\345\244\247\345\262\233\345\261\277-01.png" "b/problems/images/0104.\345\273\272\351\200\240\346\234\200\345\244\247\345\262\233\345\261\277-01.png" new file mode 100644 index 0000000000..89327c8fea Binary files /dev/null and "b/problems/images/0104.\345\273\272\351\200\240\346\234\200\345\244\247\345\262\233\345\261\277-01.png" differ diff --git "a/problems/images/0104.\345\273\272\351\200\240\346\234\200\345\244\247\345\262\233\345\261\277-02.png" "b/problems/images/0104.\345\273\272\351\200\240\346\234\200\345\244\247\345\262\233\345\261\277-02.png" new file mode 100644 index 0000000000..3ca66bcacf Binary files /dev/null and "b/problems/images/0104.\345\273\272\351\200\240\346\234\200\345\244\247\345\262\233\345\261\277-02.png" differ diff --git "a/problems/images/0104.\345\273\272\351\200\240\346\234\200\345\244\247\345\262\233\345\261\277-03.png" "b/problems/images/0104.\345\273\272\351\200\240\346\234\200\345\244\247\345\262\233\345\261\277-03.png" new file mode 100644 index 0000000000..5aaaf30d77 Binary files /dev/null and "b/problems/images/0104.\345\273\272\351\200\240\346\234\200\345\244\247\345\262\233\345\261\277-03.png" differ diff --git "a/problems/images/0104.\345\273\272\351\200\240\346\234\200\345\244\247\345\262\233\345\261\277-04.png" "b/problems/images/0104.\345\273\272\351\200\240\346\234\200\345\244\247\345\262\233\345\261\277-04.png" new file mode 100644 index 0000000000..53b58bbc57 Binary files /dev/null and "b/problems/images/0104.\345\273\272\351\200\240\346\234\200\345\244\247\345\262\233\345\261\277-04.png" differ diff --git "a/problems/images/0104.\345\273\272\351\200\240\346\234\200\345\244\247\345\262\233\345\261\277-05.png" "b/problems/images/0104.\345\273\272\351\200\240\346\234\200\345\244\247\345\262\233\345\261\277-05.png" new file mode 100644 index 0000000000..306ac12462 Binary files /dev/null and "b/problems/images/0104.\345\273\272\351\200\240\346\234\200\345\244\247\345\262\233\345\261\277-05.png" differ diff --git "a/problems/images/0105.\346\234\211\345\220\221\345\233\276\347\232\204\345\256\214\345\205\250\345\217\257\350\276\276\346\200\247-01.png" "b/problems/images/0105.\346\234\211\345\220\221\345\233\276\347\232\204\345\256\214\345\205\250\345\217\257\350\276\276\346\200\247-01.png" new file mode 100644 index 0000000000..aa84048512 Binary files /dev/null and "b/problems/images/0105.\346\234\211\345\220\221\345\233\276\347\232\204\345\256\214\345\205\250\345\217\257\350\276\276\346\200\247-01.png" differ diff --git "a/problems/images/0105.\346\234\211\345\220\221\345\233\276\347\232\204\345\256\214\345\205\250\345\217\257\350\276\276\346\200\247-02.png" "b/problems/images/0105.\346\234\211\345\220\221\345\233\276\347\232\204\345\256\214\345\205\250\345\217\257\350\276\276\346\200\247-02.png" new file mode 100644 index 0000000000..84de2652a2 Binary files /dev/null and "b/problems/images/0105.\346\234\211\345\220\221\345\233\276\347\232\204\345\256\214\345\205\250\345\217\257\350\276\276\346\200\247-02.png" differ diff --git "a/problems/images/0106.\344\273\216\344\270\255\345\272\217\344\270\216\345\220\216\345\272\217\351\201\215\345\216\206\345\272\217\345\210\227\346\236\204\351\200\240\344\272\214\345\217\211\346\240\221-01.png" "b/problems/images/0106.\344\273\216\344\270\255\345\272\217\344\270\216\345\220\216\345\272\217\351\201\215\345\216\206\345\272\217\345\210\227\346\236\204\351\200\240\344\272\214\345\217\211\346\240\221-01.png" new file mode 100644 index 0000000000..ab8fa4b95a Binary files /dev/null and "b/problems/images/0106.\344\273\216\344\270\255\345\272\217\344\270\216\345\220\216\345\272\217\351\201\215\345\216\206\345\272\217\345\210\227\346\236\204\351\200\240\344\272\214\345\217\211\346\240\221-01.png" differ diff --git "a/problems/images/0106.\344\273\216\344\270\255\345\272\217\344\270\216\345\220\216\345\272\217\351\201\215\345\216\206\345\272\217\345\210\227\346\236\204\351\200\240\344\272\214\345\217\211\346\240\221-02.png" "b/problems/images/0106.\344\273\216\344\270\255\345\272\217\344\270\216\345\220\216\345\272\217\351\201\215\345\216\206\345\272\217\345\210\227\346\236\204\351\200\240\344\272\214\345\217\211\346\240\221-02.png" new file mode 100644 index 0000000000..081a7813ae Binary files /dev/null and "b/problems/images/0106.\344\273\216\344\270\255\345\272\217\344\270\216\345\220\216\345\272\217\351\201\215\345\216\206\345\272\217\345\210\227\346\236\204\351\200\240\344\272\214\345\217\211\346\240\221-02.png" differ diff --git "a/problems/images/0106.\344\273\216\344\270\255\345\272\217\344\270\216\345\220\216\345\272\217\351\201\215\345\216\206\345\272\217\345\210\227\346\236\204\351\200\240\344\272\214\345\217\211\346\240\221-03.png" "b/problems/images/0106.\344\273\216\344\270\255\345\272\217\344\270\216\345\220\216\345\272\217\351\201\215\345\216\206\345\272\217\345\210\227\346\236\204\351\200\240\344\272\214\345\217\211\346\240\221-03.png" new file mode 100644 index 0000000000..7430be27c8 Binary files /dev/null and "b/problems/images/0106.\344\273\216\344\270\255\345\272\217\344\270\216\345\220\216\345\272\217\351\201\215\345\216\206\345\272\217\345\210\227\346\236\204\351\200\240\344\272\214\345\217\211\346\240\221-03.png" differ diff --git "a/problems/images/0106.\344\273\216\344\270\255\345\272\217\344\270\216\345\220\216\345\272\217\351\201\215\345\216\206\345\272\217\345\210\227\346\236\204\351\200\240\344\272\214\345\217\211\346\240\221-04.png" "b/problems/images/0106.\344\273\216\344\270\255\345\272\217\344\270\216\345\220\216\345\272\217\351\201\215\345\216\206\345\272\217\345\210\227\346\236\204\351\200\240\344\272\214\345\217\211\346\240\221-04.png" new file mode 100644 index 0000000000..8726f4ce38 Binary files /dev/null and "b/problems/images/0106.\344\273\216\344\270\255\345\272\217\344\270\216\345\220\216\345\272\217\351\201\215\345\216\206\345\272\217\345\210\227\346\236\204\351\200\240\344\272\214\345\217\211\346\240\221-04.png" differ diff --git "a/problems/images/0106.\345\262\233\345\261\277\347\232\204\345\221\250\351\225\277-01.png" "b/problems/images/0106.\345\262\233\345\261\277\347\232\204\345\221\250\351\225\277-01.png" new file mode 100644 index 0000000000..b7ab63d37a Binary files /dev/null and "b/problems/images/0106.\345\262\233\345\261\277\347\232\204\345\221\250\351\225\277-01.png" differ diff --git "a/problems/images/0106.\345\262\233\345\261\277\347\232\204\345\221\250\351\225\277-02.png" "b/problems/images/0106.\345\262\233\345\261\277\347\232\204\345\221\250\351\225\277-02.png" new file mode 100644 index 0000000000..3906140f61 Binary files /dev/null and "b/problems/images/0106.\345\262\233\345\261\277\347\232\204\345\221\250\351\225\277-02.png" differ diff --git "a/problems/images/0106.\345\262\233\345\261\277\347\232\204\345\221\250\351\225\277-03.png" "b/problems/images/0106.\345\262\233\345\261\277\347\232\204\345\221\250\351\225\277-03.png" new file mode 100644 index 0000000000..1105300cb9 Binary files /dev/null and "b/problems/images/0106.\345\262\233\345\261\277\347\232\204\345\221\250\351\225\277-03.png" differ diff --git "a/problems/images/0106.\345\262\233\345\261\277\347\232\204\345\221\250\351\225\277-04.png" "b/problems/images/0106.\345\262\233\345\261\277\347\232\204\345\221\250\351\225\277-04.png" new file mode 100644 index 0000000000..ba515bc21f Binary files /dev/null and "b/problems/images/0106.\345\262\233\345\261\277\347\232\204\345\221\250\351\225\277-04.png" differ diff --git "a/problems/images/0107.\345\257\273\346\211\276\345\255\230\345\234\250\347\232\204\350\267\257\345\276\204-01.png" "b/problems/images/0107.\345\257\273\346\211\276\345\255\230\345\234\250\347\232\204\350\267\257\345\276\204-01.png" new file mode 100644 index 0000000000..715009ed83 Binary files /dev/null and "b/problems/images/0107.\345\257\273\346\211\276\345\255\230\345\234\250\347\232\204\350\267\257\345\276\204-01.png" differ diff --git "a/problems/images/0108.\345\206\227\344\275\231\350\277\236\346\216\245-01.png" "b/problems/images/0108.\345\206\227\344\275\231\350\277\236\346\216\245-01.png" new file mode 100644 index 0000000000..8f164fc95f Binary files /dev/null and "b/problems/images/0108.\345\206\227\344\275\231\350\277\236\346\216\245-01.png" differ diff --git "a/problems/images/0108.\345\206\227\344\275\231\350\277\236\346\216\245-02.png" "b/problems/images/0108.\345\206\227\344\275\231\350\277\236\346\216\245-02.png" new file mode 100644 index 0000000000..9236c4ad95 Binary files /dev/null and "b/problems/images/0108.\345\206\227\344\275\231\350\277\236\346\216\245-02.png" differ diff --git "a/problems/images/0108.\345\206\227\344\275\231\350\277\236\346\216\245-03.png" "b/problems/images/0108.\345\206\227\344\275\231\350\277\236\346\216\245-03.png" new file mode 100644 index 0000000000..0c02eebcc9 Binary files /dev/null and "b/problems/images/0108.\345\206\227\344\275\231\350\277\236\346\216\245-03.png" differ diff --git "a/problems/images/0108.\345\206\227\344\275\231\350\277\236\346\216\245-04.png" "b/problems/images/0108.\345\206\227\344\275\231\350\277\236\346\216\245-04.png" new file mode 100644 index 0000000000..1acff2cf1a Binary files /dev/null and "b/problems/images/0108.\345\206\227\344\275\231\350\277\236\346\216\245-04.png" differ diff --git "a/problems/images/0108.\345\206\227\344\275\231\350\277\236\346\216\245-05.png" "b/problems/images/0108.\345\206\227\344\275\231\350\277\236\346\216\245-05.png" new file mode 100644 index 0000000000..6f9cba80b8 Binary files /dev/null and "b/problems/images/0108.\345\206\227\344\275\231\350\277\236\346\216\245-05.png" differ diff --git "a/problems/images/0108.\345\206\227\344\275\231\350\277\236\346\216\245-06.png" "b/problems/images/0108.\345\206\227\344\275\231\350\277\236\346\216\245-06.png" new file mode 100644 index 0000000000..0c02eebcc9 Binary files /dev/null and "b/problems/images/0108.\345\206\227\344\275\231\350\277\236\346\216\245-06.png" differ diff --git "a/problems/images/0108.\345\260\206\346\234\211\345\272\217\346\225\260\347\273\204\350\275\254\346\215\242\344\270\272\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-01.png" "b/problems/images/0108.\345\260\206\346\234\211\345\272\217\346\225\260\347\273\204\350\275\254\346\215\242\344\270\272\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-01.png" new file mode 100644 index 0000000000..c711e8db06 Binary files /dev/null and "b/problems/images/0108.\345\260\206\346\234\211\345\272\217\346\225\260\347\273\204\350\275\254\346\215\242\344\270\272\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-01.png" differ diff --git "a/problems/images/0108.\345\260\206\346\234\211\345\272\217\346\225\260\347\273\204\350\275\254\346\215\242\344\270\272\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-02.png" "b/problems/images/0108.\345\260\206\346\234\211\345\272\217\346\225\260\347\273\204\350\275\254\346\215\242\344\270\272\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-02.png" new file mode 100644 index 0000000000..7bdf220f10 Binary files /dev/null and "b/problems/images/0108.\345\260\206\346\234\211\345\272\217\346\225\260\347\273\204\350\275\254\346\215\242\344\270\272\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-02.png" differ diff --git "a/problems/images/0108.\345\260\206\346\234\211\345\272\217\346\225\260\347\273\204\350\275\254\346\215\242\344\270\272\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-03.png" "b/problems/images/0108.\345\260\206\346\234\211\345\272\217\346\225\260\347\273\204\350\275\254\346\215\242\344\270\272\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-03.png" new file mode 100644 index 0000000000..7d25f99dbc Binary files /dev/null and "b/problems/images/0108.\345\260\206\346\234\211\345\272\217\346\225\260\347\273\204\350\275\254\346\215\242\344\270\272\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-03.png" differ diff --git "a/problems/images/0109.\345\206\227\344\275\231\350\277\236\346\216\245II-01.png" "b/problems/images/0109.\345\206\227\344\275\231\350\277\236\346\216\245II-01.png" new file mode 100644 index 0000000000..370a18a284 Binary files /dev/null and "b/problems/images/0109.\345\206\227\344\275\231\350\277\236\346\216\245II-01.png" differ diff --git "a/problems/images/0109.\345\206\227\344\275\231\350\277\236\346\216\245II-02.png" "b/problems/images/0109.\345\206\227\344\275\231\350\277\236\346\216\245II-02.png" new file mode 100644 index 0000000000..124d79af2b Binary files /dev/null and "b/problems/images/0109.\345\206\227\344\275\231\350\277\236\346\216\245II-02.png" differ diff --git "a/problems/images/0109.\345\206\227\344\275\231\350\277\236\346\216\245II-03.png" "b/problems/images/0109.\345\206\227\344\275\231\350\277\236\346\216\245II-03.png" new file mode 100644 index 0000000000..6dceeebc96 Binary files /dev/null and "b/problems/images/0109.\345\206\227\344\275\231\350\277\236\346\216\245II-03.png" differ diff --git "a/problems/images/0109.\345\206\227\344\275\231\350\277\236\346\216\245II-04.png" "b/problems/images/0109.\345\206\227\344\275\231\350\277\236\346\216\245II-04.png" new file mode 100644 index 0000000000..4586816b8b Binary files /dev/null and "b/problems/images/0109.\345\206\227\344\275\231\350\277\236\346\216\245II-04.png" differ diff --git "a/problems/images/0109.\345\206\227\344\275\231\350\277\236\346\216\245II-05.png" "b/problems/images/0109.\345\206\227\344\275\231\350\277\236\346\216\245II-05.png" new file mode 100644 index 0000000000..437493b756 Binary files /dev/null and "b/problems/images/0109.\345\206\227\344\275\231\350\277\236\346\216\245II-05.png" differ diff --git "a/problems/images/0109.\345\206\227\344\275\231\350\277\236\346\216\245II-06.png" "b/problems/images/0109.\345\206\227\344\275\231\350\277\236\346\216\245II-06.png" new file mode 100644 index 0000000000..e77c23a7cc Binary files /dev/null and "b/problems/images/0109.\345\206\227\344\275\231\350\277\236\346\216\245II-06.png" differ diff --git "a/problems/images/0110.\345\255\227\347\254\246\344\270\262\346\216\245\351\276\231-01.png" "b/problems/images/0110.\345\255\227\347\254\246\344\270\262\346\216\245\351\276\231-01.png" new file mode 100644 index 0000000000..aae8cc083d Binary files /dev/null and "b/problems/images/0110.\345\255\227\347\254\246\344\270\262\346\216\245\351\276\231-01.png" differ diff --git "a/problems/images/0110.\345\271\263\350\241\241\344\272\214\345\217\211\346\240\221-01.png" "b/problems/images/0110.\345\271\263\350\241\241\344\272\214\345\217\211\346\240\221-01.png" new file mode 100644 index 0000000000..f227f1ad1f Binary files /dev/null and "b/problems/images/0110.\345\271\263\350\241\241\344\272\214\345\217\211\346\240\221-01.png" differ diff --git "a/problems/images/0110.\345\271\263\350\241\241\344\272\214\345\217\211\346\240\221-02.png" "b/problems/images/0110.\345\271\263\350\241\241\344\272\214\345\217\211\346\240\221-02.png" new file mode 100644 index 0000000000..36e0a09c3e Binary files /dev/null and "b/problems/images/0110.\345\271\263\350\241\241\344\272\214\345\217\211\346\240\221-02.png" differ diff --git "a/problems/images/0110.\345\271\263\350\241\241\344\272\214\345\217\211\346\240\221-03.png" "b/problems/images/0110.\345\271\263\350\241\241\344\272\214\345\217\211\346\240\221-03.png" new file mode 100644 index 0000000000..53d46be632 Binary files /dev/null and "b/problems/images/0110.\345\271\263\350\241\241\344\272\214\345\217\211\346\240\221-03.png" differ diff --git "a/problems/images/0111.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\345\260\217\346\267\261\345\272\246-01.png" "b/problems/images/0111.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\345\260\217\346\267\261\345\272\246-01.png" new file mode 100644 index 0000000000..a0ac70cbc3 Binary files /dev/null and "b/problems/images/0111.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\345\260\217\346\267\261\345\272\246-01.png" differ diff --git "a/problems/images/0111.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\345\260\217\346\267\261\345\272\246-02.png" "b/problems/images/0111.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\345\260\217\346\267\261\345\272\246-02.png" new file mode 100644 index 0000000000..b1980df8cf Binary files /dev/null and "b/problems/images/0111.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\345\260\217\346\267\261\345\272\246-02.png" differ diff --git "a/problems/images/0111.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\345\260\217\346\267\261\345\272\246-03.png" "b/problems/images/0111.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\345\260\217\346\267\261\345\272\246-03.png" new file mode 100644 index 0000000000..b1980df8cf Binary files /dev/null and "b/problems/images/0111.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\345\260\217\346\267\261\345\272\246-03.png" differ diff --git "a/problems/images/0112.\350\267\257\345\276\204\346\200\273\345\222\214-01.png" "b/problems/images/0112.\350\267\257\345\276\204\346\200\273\345\222\214-01.png" new file mode 100644 index 0000000000..42638fc127 Binary files /dev/null and "b/problems/images/0112.\350\267\257\345\276\204\346\200\273\345\222\214-01.png" differ diff --git "a/problems/images/0112.\350\267\257\345\276\204\346\200\273\345\222\214-02.png" "b/problems/images/0112.\350\267\257\345\276\204\346\200\273\345\222\214-02.png" new file mode 100644 index 0000000000..2a1b51004a Binary files /dev/null and "b/problems/images/0112.\350\267\257\345\276\204\346\200\273\345\222\214-02.png" differ diff --git "a/problems/images/0112.\350\267\257\345\276\204\346\200\273\345\222\214-03.png" "b/problems/images/0112.\350\267\257\345\276\204\346\200\273\345\222\214-03.png" new file mode 100644 index 0000000000..e1d5a2d193 Binary files /dev/null and "b/problems/images/0112.\350\267\257\345\276\204\346\200\273\345\222\214-03.png" differ diff --git "a/problems/images/0112.\350\267\257\345\276\204\346\200\273\345\222\214-04.png" "b/problems/images/0112.\350\267\257\345\276\204\346\200\273\345\222\214-04.png" new file mode 100644 index 0000000000..931c2a9ab2 Binary files /dev/null and "b/problems/images/0112.\350\267\257\345\276\204\346\200\273\345\222\214-04.png" differ diff --git "a/problems/images/0115.\344\270\215\345\220\214\347\232\204\345\255\220\345\272\217\345\210\227-01.jpg" "b/problems/images/0115.\344\270\215\345\220\214\347\232\204\345\255\220\345\272\217\345\210\227-01.jpg" new file mode 100644 index 0000000000..488c12d375 Binary files /dev/null and "b/problems/images/0115.\344\270\215\345\220\214\347\232\204\345\255\220\345\272\217\345\210\227-01.jpg" differ diff --git "a/problems/images/0115.\344\270\215\345\220\214\347\232\204\345\255\220\345\272\217\345\210\227-02.png" "b/problems/images/0115.\344\270\215\345\220\214\347\232\204\345\255\220\345\272\217\345\210\227-02.png" new file mode 100644 index 0000000000..4f8bdd7135 Binary files /dev/null and "b/problems/images/0115.\344\270\215\345\220\214\347\232\204\345\255\220\345\272\217\345\210\227-02.png" differ diff --git "a/problems/images/0115.\344\270\215\345\220\214\347\232\204\345\255\220\345\272\217\345\210\227-03.png" "b/problems/images/0115.\344\270\215\345\220\214\347\232\204\345\255\220\345\272\217\345\210\227-03.png" new file mode 100644 index 0000000000..4f8bdd7135 Binary files /dev/null and "b/problems/images/0115.\344\270\215\345\220\214\347\232\204\345\255\220\345\272\217\345\210\227-03.png" differ diff --git "a/problems/images/0115.\344\270\215\345\220\214\347\232\204\345\255\220\345\272\217\345\210\227-04.jpg" "b/problems/images/0115.\344\270\215\345\220\214\347\232\204\345\255\220\345\272\217\345\210\227-04.jpg" new file mode 100644 index 0000000000..2cc2b1a5e6 Binary files /dev/null and "b/problems/images/0115.\344\270\215\345\220\214\347\232\204\345\255\220\345\272\217\345\210\227-04.jpg" differ diff --git "a/problems/images/0116.\345\241\253\345\205\205\346\257\217\344\270\252\350\212\202\347\202\271\347\232\204\344\270\213\344\270\200\344\270\252\345\217\263\344\276\247\350\212\202\347\202\271\346\214\207\351\222\210-01.png" "b/problems/images/0116.\345\241\253\345\205\205\346\257\217\344\270\252\350\212\202\347\202\271\347\232\204\344\270\213\344\270\200\344\270\252\345\217\263\344\276\247\350\212\202\347\202\271\346\214\207\351\222\210-01.png" new file mode 100644 index 0000000000..f1ea01dab8 Binary files /dev/null and "b/problems/images/0116.\345\241\253\345\205\205\346\257\217\344\270\252\350\212\202\347\202\271\347\232\204\344\270\213\344\270\200\344\270\252\345\217\263\344\276\247\350\212\202\347\202\271\346\214\207\351\222\210-01.png" differ diff --git "a/problems/images/0116.\345\241\253\345\205\205\346\257\217\344\270\252\350\212\202\347\202\271\347\232\204\344\270\213\344\270\200\344\270\252\345\217\263\344\276\247\350\212\202\347\202\271\346\214\207\351\222\210-02.png" "b/problems/images/0116.\345\241\253\345\205\205\346\257\217\344\270\252\350\212\202\347\202\271\347\232\204\344\270\213\344\270\200\344\270\252\345\217\263\344\276\247\350\212\202\347\202\271\346\214\207\351\222\210-02.png" new file mode 100644 index 0000000000..bec25c0af9 Binary files /dev/null and "b/problems/images/0116.\345\241\253\345\205\205\346\257\217\344\270\252\350\212\202\347\202\271\347\232\204\344\270\213\344\270\200\344\270\252\345\217\263\344\276\247\350\212\202\347\202\271\346\214\207\351\222\210-02.png" differ diff --git "a/problems/images/0117.\350\275\257\344\273\266\346\236\204\345\273\272-01.png" "b/problems/images/0117.\350\275\257\344\273\266\346\236\204\345\273\272-01.png" new file mode 100644 index 0000000000..46f414b472 Binary files /dev/null and "b/problems/images/0117.\350\275\257\344\273\266\346\236\204\345\273\272-01.png" differ diff --git "a/problems/images/0117.\350\275\257\344\273\266\346\236\204\345\273\272-02.png" "b/problems/images/0117.\350\275\257\344\273\266\346\236\204\345\273\272-02.png" new file mode 100644 index 0000000000..20114f9726 Binary files /dev/null and "b/problems/images/0117.\350\275\257\344\273\266\346\236\204\345\273\272-02.png" differ diff --git "a/problems/images/0117.\350\275\257\344\273\266\346\236\204\345\273\272-03.png" "b/problems/images/0117.\350\275\257\344\273\266\346\236\204\345\273\272-03.png" new file mode 100644 index 0000000000..179860f915 Binary files /dev/null and "b/problems/images/0117.\350\275\257\344\273\266\346\236\204\345\273\272-03.png" differ diff --git "a/problems/images/0117.\350\275\257\344\273\266\346\236\204\345\273\272-04.png" "b/problems/images/0117.\350\275\257\344\273\266\346\236\204\345\273\272-04.png" new file mode 100644 index 0000000000..e8ee097dc6 Binary files /dev/null and "b/problems/images/0117.\350\275\257\344\273\266\346\236\204\345\273\272-04.png" differ diff --git "a/problems/images/0117.\350\275\257\344\273\266\346\236\204\345\273\272-05.png" "b/problems/images/0117.\350\275\257\344\273\266\346\236\204\345\273\272-05.png" new file mode 100644 index 0000000000..850663e4e7 Binary files /dev/null and "b/problems/images/0117.\350\275\257\344\273\266\346\236\204\345\273\272-05.png" differ diff --git "a/problems/images/0117.\350\275\257\344\273\266\346\236\204\345\273\272-06.png" "b/problems/images/0117.\350\275\257\344\273\266\346\236\204\345\273\272-06.png" new file mode 100644 index 0000000000..5f6867402c Binary files /dev/null and "b/problems/images/0117.\350\275\257\344\273\266\346\236\204\345\273\272-06.png" differ diff --git "a/problems/images/0117.\350\275\257\344\273\266\346\236\204\345\273\272-07.png" "b/problems/images/0117.\350\275\257\344\273\266\346\236\204\345\273\272-07.png" new file mode 100644 index 0000000000..70d7803380 Binary files /dev/null and "b/problems/images/0117.\350\275\257\344\273\266\346\236\204\345\273\272-07.png" differ diff --git "a/problems/images/0117.\350\275\257\344\273\266\346\236\204\345\273\272-08.png" "b/problems/images/0117.\350\275\257\344\273\266\346\236\204\345\273\272-08.png" new file mode 100644 index 0000000000..ef486c7f5a Binary files /dev/null and "b/problems/images/0117.\350\275\257\344\273\266\346\236\204\345\273\272-08.png" differ diff --git "a/problems/images/0117.\350\275\257\344\273\266\346\236\204\345\273\272-09.png" "b/problems/images/0117.\350\275\257\344\273\266\346\236\204\345\273\272-09.png" new file mode 100644 index 0000000000..af52537e3d Binary files /dev/null and "b/problems/images/0117.\350\275\257\344\273\266\346\236\204\345\273\272-09.png" differ diff --git "a/problems/images/0117.\350\275\257\344\273\266\346\236\204\345\273\272-10.png" "b/problems/images/0117.\350\275\257\344\273\266\346\236\204\345\273\272-10.png" new file mode 100644 index 0000000000..179860f915 Binary files /dev/null and "b/problems/images/0117.\350\275\257\344\273\266\346\236\204\345\273\272-10.png" differ diff --git "a/problems/images/0117.\350\275\257\344\273\266\346\236\204\345\273\272-11.png" "b/problems/images/0117.\350\275\257\344\273\266\346\236\204\345\273\272-11.png" new file mode 100644 index 0000000000..e8ee097dc6 Binary files /dev/null and "b/problems/images/0117.\350\275\257\344\273\266\346\236\204\345\273\272-11.png" differ diff --git "a/problems/images/0121.\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272-01.png" "b/problems/images/0121.\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272-01.png" new file mode 100644 index 0000000000..5db68343c3 Binary files /dev/null and "b/problems/images/0121.\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272-01.png" differ diff --git "a/problems/images/0122.\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272II-01.png" "b/problems/images/0122.\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272II-01.png" new file mode 100644 index 0000000000..9799abfdad Binary files /dev/null and "b/problems/images/0122.\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272II-01.png" differ diff --git "a/problems/images/0123.\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272III-01.png" "b/problems/images/0123.\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272III-01.png" new file mode 100644 index 0000000000..c7cf382ce5 Binary files /dev/null and "b/problems/images/0123.\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272III-01.png" differ diff --git "a/problems/images/0126.\351\252\221\345\243\253\347\232\204\346\224\273\345\207\273astar-01.png" "b/problems/images/0126.\351\252\221\345\243\253\347\232\204\346\224\273\345\207\273astar-01.png" new file mode 100644 index 0000000000..61f315812a Binary files /dev/null and "b/problems/images/0126.\351\252\221\345\243\253\347\232\204\346\224\273\345\207\273astar-01.png" differ diff --git "a/problems/images/0126.\351\252\221\345\243\253\347\232\204\346\224\273\345\207\273astar-02.png" "b/problems/images/0126.\351\252\221\345\243\253\347\232\204\346\224\273\345\207\273astar-02.png" new file mode 100644 index 0000000000..6f9f02d7df Binary files /dev/null and "b/problems/images/0126.\351\252\221\345\243\253\347\232\204\346\224\273\345\207\273astar-02.png" differ diff --git "a/problems/images/0126.\351\252\221\345\243\253\347\232\204\346\224\273\345\207\273astar-03.png" "b/problems/images/0126.\351\252\221\345\243\253\347\232\204\346\224\273\345\207\273astar-03.png" new file mode 100644 index 0000000000..6f9f02d7df Binary files /dev/null and "b/problems/images/0126.\351\252\221\345\243\253\347\232\204\346\224\273\345\207\273astar-03.png" differ diff --git "a/problems/images/0126.\351\252\221\345\243\253\347\232\204\346\224\273\345\207\273astar-04.png" "b/problems/images/0126.\351\252\221\345\243\253\347\232\204\346\224\273\345\207\273astar-04.png" new file mode 100644 index 0000000000..e44d0f8530 Binary files /dev/null and "b/problems/images/0126.\351\252\221\345\243\253\347\232\204\346\224\273\345\207\273astar-04.png" differ diff --git "a/problems/images/0127.\345\215\225\350\257\215\346\216\245\351\276\231-01.png" "b/problems/images/0127.\345\215\225\350\257\215\346\216\245\351\276\231-01.png" new file mode 100644 index 0000000000..f0f4e98e69 Binary files /dev/null and "b/problems/images/0127.\345\215\225\350\257\215\346\216\245\351\276\231-01.png" differ diff --git "a/problems/images/0129.\346\261\202\346\240\271\345\210\260\345\217\266\345\255\220\350\212\202\347\202\271\346\225\260\345\255\227\344\271\213\345\222\214-01.png" "b/problems/images/0129.\346\261\202\346\240\271\345\210\260\345\217\266\345\255\220\350\212\202\347\202\271\346\225\260\345\255\227\344\271\213\345\222\214-01.png" new file mode 100644 index 0000000000..58288a9d7f Binary files /dev/null and "b/problems/images/0129.\346\261\202\346\240\271\345\210\260\345\217\266\345\255\220\350\212\202\347\202\271\346\225\260\345\255\227\344\271\213\345\222\214-01.png" differ diff --git "a/problems/images/0130.\350\242\253\345\233\264\347\273\225\347\232\204\345\214\272\345\237\237-01.png" "b/problems/images/0130.\350\242\253\345\233\264\347\273\225\347\232\204\345\214\272\345\237\237-01.png" new file mode 100644 index 0000000000..0d233b8658 Binary files /dev/null and "b/problems/images/0130.\350\242\253\345\233\264\347\273\225\347\232\204\345\214\272\345\237\237-01.png" differ diff --git "a/problems/images/0130.\350\242\253\345\233\264\347\273\225\347\232\204\345\214\272\345\237\237-02.png" "b/problems/images/0130.\350\242\253\345\233\264\347\273\225\347\232\204\345\214\272\345\237\237-02.png" new file mode 100644 index 0000000000..d5b7b2f094 Binary files /dev/null and "b/problems/images/0130.\350\242\253\345\233\264\347\273\225\347\232\204\345\214\272\345\237\237-02.png" differ diff --git "a/problems/images/0130.\350\242\253\345\233\264\347\273\225\347\232\204\345\214\272\345\237\237-03.png" "b/problems/images/0130.\350\242\253\345\233\264\347\273\225\347\232\204\345\214\272\345\237\237-03.png" new file mode 100644 index 0000000000..4312b0f911 Binary files /dev/null and "b/problems/images/0130.\350\242\253\345\233\264\347\273\225\347\232\204\345\214\272\345\237\237-03.png" differ diff --git "a/problems/images/0131.\345\210\206\345\211\262\345\233\236\346\226\207\344\270\262-01.jpg" "b/problems/images/0131.\345\210\206\345\211\262\345\233\236\346\226\207\344\270\262-01.jpg" new file mode 100644 index 0000000000..1e15d2f750 Binary files /dev/null and "b/problems/images/0131.\345\210\206\345\211\262\345\233\236\346\226\207\344\270\262-01.jpg" differ diff --git "a/problems/images/0131.\345\210\206\345\211\262\345\233\236\346\226\207\344\270\262-02.jpg" "b/problems/images/0131.\345\210\206\345\211\262\345\233\236\346\226\207\344\270\262-02.jpg" new file mode 100644 index 0000000000..1e15d2f750 Binary files /dev/null and "b/problems/images/0131.\345\210\206\345\211\262\345\233\236\346\226\207\344\270\262-02.jpg" differ diff --git "a/problems/images/0132.\345\210\206\345\211\262\345\233\236\346\226\207\344\270\262II-01.jpg" "b/problems/images/0132.\345\210\206\345\211\262\345\233\236\346\226\207\344\270\262II-01.jpg" new file mode 100644 index 0000000000..c2c04887b9 Binary files /dev/null and "b/problems/images/0132.\345\210\206\345\211\262\345\233\236\346\226\207\344\270\262II-01.jpg" differ diff --git "a/problems/images/0134.\345\212\240\346\262\271\347\253\231-01.png" "b/problems/images/0134.\345\212\240\346\262\271\347\253\231-01.png" new file mode 100644 index 0000000000..c1eadf0e55 Binary files /dev/null and "b/problems/images/0134.\345\212\240\346\262\271\347\253\231-01.png" differ diff --git "a/problems/images/0134.\345\212\240\346\262\271\347\253\231-02.png" "b/problems/images/0134.\345\212\240\346\262\271\347\253\231-02.png" new file mode 100644 index 0000000000..bf3e55be46 Binary files /dev/null and "b/problems/images/0134.\345\212\240\346\262\271\347\253\231-02.png" differ diff --git "a/problems/images/0135.\345\210\206\345\217\221\347\263\226\346\236\234-01.png" "b/problems/images/0135.\345\210\206\345\217\221\347\263\226\346\236\234-01.png" new file mode 100644 index 0000000000..86113b879d Binary files /dev/null and "b/problems/images/0135.\345\210\206\345\217\221\347\263\226\346\236\234-01.png" differ diff --git "a/problems/images/0135.\345\210\206\345\217\221\347\263\226\346\236\234-02.png" "b/problems/images/0135.\345\210\206\345\217\221\347\263\226\346\236\234-02.png" new file mode 100644 index 0000000000..5dc6c626f7 Binary files /dev/null and "b/problems/images/0135.\345\210\206\345\217\221\347\263\226\346\236\234-02.png" differ diff --git "a/problems/images/0135.\345\210\206\345\217\221\347\263\226\346\236\234-03.png" "b/problems/images/0135.\345\210\206\345\217\221\347\263\226\346\236\234-03.png" new file mode 100644 index 0000000000..ac88ef9f76 Binary files /dev/null and "b/problems/images/0135.\345\210\206\345\217\221\347\263\226\346\236\234-03.png" differ diff --git "a/problems/images/0139.\345\215\225\350\257\215\346\213\206\345\210\206-01.jpg" "b/problems/images/0139.\345\215\225\350\257\215\346\213\206\345\210\206-01.jpg" new file mode 100644 index 0000000000..fc6c43fbe7 Binary files /dev/null and "b/problems/images/0139.\345\215\225\350\257\215\346\213\206\345\210\206-01.jpg" differ diff --git "a/problems/images/0139.\345\215\225\350\257\215\346\213\206\345\210\206-02.png" "b/problems/images/0139.\345\215\225\350\257\215\346\213\206\345\210\206-02.png" new file mode 100644 index 0000000000..f4b38e7dcc Binary files /dev/null and "b/problems/images/0139.\345\215\225\350\257\215\346\213\206\345\210\206-02.png" differ diff --git "a/problems/images/0141.\347\216\257\345\275\242\351\223\276\350\241\250-01.png" "b/problems/images/0141.\347\216\257\345\275\242\351\223\276\350\241\250-01.png" new file mode 100644 index 0000000000..ecf18bc2bd Binary files /dev/null and "b/problems/images/0141.\347\216\257\345\275\242\351\223\276\350\241\250-01.png" differ diff --git "a/problems/images/0141.\347\216\257\345\275\242\351\223\276\350\241\250-02.png" "b/problems/images/0141.\347\216\257\345\275\242\351\223\276\350\241\250-02.png" new file mode 100644 index 0000000000..7814be45b0 Binary files /dev/null and "b/problems/images/0141.\347\216\257\345\275\242\351\223\276\350\241\250-02.png" differ diff --git "a/problems/images/0141.\347\216\257\345\275\242\351\223\276\350\241\250-03.gif" "b/problems/images/0141.\347\216\257\345\275\242\351\223\276\350\241\250-03.gif" new file mode 100644 index 0000000000..5e5308aa8a Binary files /dev/null and "b/problems/images/0141.\347\216\257\345\275\242\351\223\276\350\241\250-03.gif" differ diff --git "a/problems/images/0142.\347\216\257\345\275\242\351\223\276\350\241\250II-01.png" "b/problems/images/0142.\347\216\257\345\275\242\351\223\276\350\241\250II-01.png" new file mode 100644 index 0000000000..0ff69c3150 Binary files /dev/null and "b/problems/images/0142.\347\216\257\345\275\242\351\223\276\350\241\250II-01.png" differ diff --git "a/problems/images/0142.\347\216\257\345\275\242\351\223\276\350\241\250II-02.png" "b/problems/images/0142.\347\216\257\345\275\242\351\223\276\350\241\250II-02.png" new file mode 100644 index 0000000000..7814be45b0 Binary files /dev/null and "b/problems/images/0142.\347\216\257\345\275\242\351\223\276\350\241\250II-02.png" differ diff --git "a/problems/images/0142.\347\216\257\345\275\242\351\223\276\350\241\250II-03.gif" "b/problems/images/0142.\347\216\257\345\275\242\351\223\276\350\241\250II-03.gif" new file mode 100644 index 0000000000..5e5308aa8a Binary files /dev/null and "b/problems/images/0142.\347\216\257\345\275\242\351\223\276\350\241\250II-03.gif" differ diff --git "a/problems/images/0142.\347\216\257\345\275\242\351\223\276\350\241\250II-04.png" "b/problems/images/0142.\347\216\257\345\275\242\351\223\276\350\241\250II-04.png" new file mode 100644 index 0000000000..e638a6bbb0 Binary files /dev/null and "b/problems/images/0142.\347\216\257\345\275\242\351\223\276\350\241\250II-04.png" differ diff --git "a/problems/images/0142.\347\216\257\345\275\242\351\223\276\350\241\250II-05.gif" "b/problems/images/0142.\347\216\257\345\275\242\351\223\276\350\241\250II-05.gif" new file mode 100644 index 0000000000..9e5f2038d8 Binary files /dev/null and "b/problems/images/0142.\347\216\257\345\275\242\351\223\276\350\241\250II-05.gif" differ diff --git "a/problems/images/0142.\347\216\257\345\275\242\351\223\276\350\241\250II-06.png" "b/problems/images/0142.\347\216\257\345\275\242\351\223\276\350\241\250II-06.png" new file mode 100644 index 0000000000..b99a79f1e3 Binary files /dev/null and "b/problems/images/0142.\347\216\257\345\275\242\351\223\276\350\241\250II-06.png" differ diff --git "a/problems/images/0142.\347\216\257\345\275\242\351\223\276\350\241\250II-07.png" "b/problems/images/0142.\347\216\257\345\275\242\351\223\276\350\241\250II-07.png" new file mode 100644 index 0000000000..9bd96f6bab Binary files /dev/null and "b/problems/images/0142.\347\216\257\345\275\242\351\223\276\350\241\250II-07.png" differ diff --git "a/problems/images/0142.\347\216\257\345\275\242\351\223\276\350\241\250II-08.png" "b/problems/images/0142.\347\216\257\345\275\242\351\223\276\350\241\250II-08.png" new file mode 100644 index 0000000000..e37690d8a5 Binary files /dev/null and "b/problems/images/0142.\347\216\257\345\275\242\351\223\276\350\241\250II-08.png" differ diff --git "a/problems/images/0143.\351\207\215\346\216\222\351\223\276\350\241\250-01.png" "b/problems/images/0143.\351\207\215\346\216\222\351\223\276\350\241\250-01.png" new file mode 100644 index 0000000000..b14366b89a Binary files /dev/null and "b/problems/images/0143.\351\207\215\346\216\222\351\223\276\350\241\250-01.png" differ diff --git "a/problems/images/0143.\351\207\215\346\216\222\351\223\276\350\241\250-02.png" "b/problems/images/0143.\351\207\215\346\216\222\351\223\276\350\241\250-02.png" new file mode 100644 index 0000000000..2fc9440822 Binary files /dev/null and "b/problems/images/0143.\351\207\215\346\216\222\351\223\276\350\241\250-02.png" differ diff --git "a/problems/images/0150.\351\200\206\346\263\242\345\205\260\350\241\250\350\276\276\345\274\217\346\261\202\345\200\274-01.gif" "b/problems/images/0150.\351\200\206\346\263\242\345\205\260\350\241\250\350\276\276\345\274\217\346\261\202\345\200\274-01.gif" new file mode 100644 index 0000000000..8e71e591f5 Binary files /dev/null and "b/problems/images/0150.\351\200\206\346\263\242\345\205\260\350\241\250\350\276\276\345\274\217\346\261\202\345\200\274-01.gif" differ diff --git "a/problems/images/0188.\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272IV-01.png" "b/problems/images/0188.\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272IV-01.png" new file mode 100644 index 0000000000..018dc3d11b Binary files /dev/null and "b/problems/images/0188.\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272IV-01.png" differ diff --git "a/problems/images/0198.\346\211\223\345\256\266\345\212\253\350\210\215-01.jpg" "b/problems/images/0198.\346\211\223\345\256\266\345\212\253\350\210\215-01.jpg" new file mode 100644 index 0000000000..c6d72a467b Binary files /dev/null and "b/problems/images/0198.\346\211\223\345\256\266\345\212\253\350\210\215-01.jpg" differ diff --git "a/problems/images/0200.\345\262\233\345\261\277\346\225\260\351\207\217.\345\271\277\346\220\234\347\211\210-01.png" "b/problems/images/0200.\345\262\233\345\261\277\346\225\260\351\207\217.\345\271\277\346\220\234\347\211\210-01.png" new file mode 100644 index 0000000000..562bb1d350 Binary files /dev/null and "b/problems/images/0200.\345\262\233\345\261\277\346\225\260\351\207\217.\345\271\277\346\220\234\347\211\210-01.png" differ diff --git "a/problems/images/0200.\345\262\233\345\261\277\346\225\260\351\207\217.\345\271\277\346\220\234\347\211\210-02.png" "b/problems/images/0200.\345\262\233\345\261\277\346\225\260\351\207\217.\345\271\277\346\220\234\347\211\210-02.png" new file mode 100644 index 0000000000..f9dd723d7b Binary files /dev/null and "b/problems/images/0200.\345\262\233\345\261\277\346\225\260\351\207\217.\345\271\277\346\220\234\347\211\210-02.png" differ diff --git "a/problems/images/0200.\345\262\233\345\261\277\346\225\260\351\207\217.\345\271\277\346\220\234\347\211\210-03.png" "b/problems/images/0200.\345\262\233\345\261\277\346\225\260\351\207\217.\345\271\277\346\220\234\347\211\210-03.png" new file mode 100644 index 0000000000..a4eab608c7 Binary files /dev/null and "b/problems/images/0200.\345\262\233\345\261\277\346\225\260\351\207\217.\345\271\277\346\220\234\347\211\210-03.png" differ diff --git "a/problems/images/0200.\345\262\233\345\261\277\346\225\260\351\207\217.\346\267\261\346\220\234\347\211\210-01.png" "b/problems/images/0200.\345\262\233\345\261\277\346\225\260\351\207\217.\346\267\261\346\220\234\347\211\210-01.png" new file mode 100644 index 0000000000..562bb1d350 Binary files /dev/null and "b/problems/images/0200.\345\262\233\345\261\277\346\225\260\351\207\217.\346\267\261\346\220\234\347\211\210-01.png" differ diff --git "a/problems/images/0200.\345\262\233\345\261\277\346\225\260\351\207\217.\346\267\261\346\220\234\347\211\210-02.png" "b/problems/images/0200.\345\262\233\345\261\277\346\225\260\351\207\217.\346\267\261\346\220\234\347\211\210-02.png" new file mode 100644 index 0000000000..f9dd723d7b Binary files /dev/null and "b/problems/images/0200.\345\262\233\345\261\277\346\225\260\351\207\217.\346\267\261\346\220\234\347\211\210-02.png" differ diff --git "a/problems/images/0203.\347\247\273\351\231\244\351\223\276\350\241\250\345\205\203\347\264\240-01.png" "b/problems/images/0203.\347\247\273\351\231\244\351\223\276\350\241\250\345\205\203\347\264\240-01.png" new file mode 100644 index 0000000000..b32aa50e22 Binary files /dev/null and "b/problems/images/0203.\347\247\273\351\231\244\351\223\276\350\241\250\345\205\203\347\264\240-01.png" differ diff --git "a/problems/images/0203.\347\247\273\351\231\244\351\223\276\350\241\250\345\205\203\347\264\240-02.png" "b/problems/images/0203.\347\247\273\351\231\244\351\223\276\350\241\250\345\205\203\347\264\240-02.png" new file mode 100644 index 0000000000..5519a69d7d Binary files /dev/null and "b/problems/images/0203.\347\247\273\351\231\244\351\223\276\350\241\250\345\205\203\347\264\240-02.png" differ diff --git "a/problems/images/0203.\347\247\273\351\231\244\351\223\276\350\241\250\345\205\203\347\264\240-03.png" "b/problems/images/0203.\347\247\273\351\231\244\351\223\276\350\241\250\345\205\203\347\264\240-03.png" new file mode 100644 index 0000000000..cd50ce1358 Binary files /dev/null and "b/problems/images/0203.\347\247\273\351\231\244\351\223\276\350\241\250\345\205\203\347\264\240-03.png" differ diff --git "a/problems/images/0203.\347\247\273\351\231\244\351\223\276\350\241\250\345\205\203\347\264\240-04.png" "b/problems/images/0203.\347\247\273\351\231\244\351\223\276\350\241\250\345\205\203\347\264\240-04.png" new file mode 100644 index 0000000000..02aaf115d0 Binary files /dev/null and "b/problems/images/0203.\347\247\273\351\231\244\351\223\276\350\241\250\345\205\203\347\264\240-04.png" differ diff --git "a/problems/images/0203.\347\247\273\351\231\244\351\223\276\350\241\250\345\205\203\347\264\240-05.png" "b/problems/images/0203.\347\247\273\351\231\244\351\223\276\350\241\250\345\205\203\347\264\240-05.png" new file mode 100644 index 0000000000..e24ad3d38d Binary files /dev/null and "b/problems/images/0203.\347\247\273\351\231\244\351\223\276\350\241\250\345\205\203\347\264\240-05.png" differ diff --git "a/problems/images/0203.\347\247\273\351\231\244\351\223\276\350\241\250\345\205\203\347\264\240-06.png" "b/problems/images/0203.\347\247\273\351\231\244\351\223\276\350\241\250\345\205\203\347\264\240-06.png" new file mode 100644 index 0000000000..13f9b6d614 Binary files /dev/null and "b/problems/images/0203.\347\247\273\351\231\244\351\223\276\350\241\250\345\205\203\347\264\240-06.png" differ diff --git "a/problems/images/0206.\347\277\273\350\275\254\351\223\276\350\241\250-01.png" "b/problems/images/0206.\347\277\273\350\275\254\351\223\276\350\241\250-01.png" new file mode 100644 index 0000000000..f26ad08f12 Binary files /dev/null and "b/problems/images/0206.\347\277\273\350\275\254\351\223\276\350\241\250-01.png" differ diff --git "a/problems/images/0206.\347\277\273\350\275\254\351\223\276\350\241\250-02.gif" "b/problems/images/0206.\347\277\273\350\275\254\351\223\276\350\241\250-02.gif" new file mode 100644 index 0000000000..ad2fdafd61 Binary files /dev/null and "b/problems/images/0206.\347\277\273\350\275\254\351\223\276\350\241\250-02.gif" differ diff --git "a/problems/images/0209.\351\225\277\345\272\246\346\234\200\345\260\217\347\232\204\345\255\220\346\225\260\347\273\204-01.gif" "b/problems/images/0209.\351\225\277\345\272\246\346\234\200\345\260\217\347\232\204\345\255\220\346\225\260\347\273\204-01.gif" new file mode 100644 index 0000000000..f992ed9fd1 Binary files /dev/null and "b/problems/images/0209.\351\225\277\345\272\246\346\234\200\345\260\217\347\232\204\345\255\220\346\225\260\347\273\204-01.gif" differ diff --git "a/problems/images/0209.\351\225\277\345\272\246\346\234\200\345\260\217\347\232\204\345\255\220\346\225\260\347\273\204-02.png" "b/problems/images/0209.\351\225\277\345\272\246\346\234\200\345\260\217\347\232\204\345\255\220\346\225\260\347\273\204-02.png" new file mode 100644 index 0000000000..2278be413c Binary files /dev/null and "b/problems/images/0209.\351\225\277\345\272\246\346\234\200\345\260\217\347\232\204\345\255\220\346\225\260\347\273\204-02.png" differ diff --git "a/problems/images/0213.\346\211\223\345\256\266\345\212\253\350\210\215II-01.jpg" "b/problems/images/0213.\346\211\223\345\256\266\345\212\253\350\210\215II-01.jpg" new file mode 100644 index 0000000000..a193dcfd9b Binary files /dev/null and "b/problems/images/0213.\346\211\223\345\256\266\345\212\253\350\210\215II-01.jpg" differ diff --git "a/problems/images/0213.\346\211\223\345\256\266\345\212\253\350\210\215II-02.jpg" "b/problems/images/0213.\346\211\223\345\256\266\345\212\253\350\210\215II-02.jpg" new file mode 100644 index 0000000000..cc4dbda280 Binary files /dev/null and "b/problems/images/0213.\346\211\223\345\256\266\345\212\253\350\210\215II-02.jpg" differ diff --git "a/problems/images/0213.\346\211\223\345\256\266\345\212\253\350\210\215II-03.jpg" "b/problems/images/0213.\346\211\223\345\256\266\345\212\253\350\210\215II-03.jpg" new file mode 100644 index 0000000000..f42c8f0f67 Binary files /dev/null and "b/problems/images/0213.\346\211\223\345\256\266\345\212\253\350\210\215II-03.jpg" differ diff --git "a/problems/images/0216.\347\273\204\345\220\210\346\200\273\345\222\214III-01.png" "b/problems/images/0216.\347\273\204\345\220\210\346\200\273\345\222\214III-01.png" new file mode 100644 index 0000000000..1b71e67c06 Binary files /dev/null and "b/problems/images/0216.\347\273\204\345\220\210\346\200\273\345\222\214III-01.png" differ diff --git "a/problems/images/0216.\347\273\204\345\220\210\346\200\273\345\222\214III-02.png" "b/problems/images/0216.\347\273\204\345\220\210\346\200\273\345\222\214III-02.png" new file mode 100644 index 0000000000..1b71e67c06 Binary files /dev/null and "b/problems/images/0216.\347\273\204\345\220\210\346\200\273\345\222\214III-02.png" differ diff --git "a/problems/images/0216.\347\273\204\345\220\210\346\200\273\345\222\214III-03.png" "b/problems/images/0216.\347\273\204\345\220\210\346\200\273\345\222\214III-03.png" new file mode 100644 index 0000000000..e495191df1 Binary files /dev/null and "b/problems/images/0216.\347\273\204\345\220\210\346\200\273\345\222\214III-03.png" differ diff --git "a/problems/images/0222.\345\256\214\345\205\250\344\272\214\345\217\211\346\240\221\347\232\204\350\212\202\347\202\271\344\270\252\346\225\260-01.png" "b/problems/images/0222.\345\256\214\345\205\250\344\272\214\345\217\211\346\240\221\347\232\204\350\212\202\347\202\271\344\270\252\346\225\260-01.png" new file mode 100644 index 0000000000..41c855bde7 Binary files /dev/null and "b/problems/images/0222.\345\256\214\345\205\250\344\272\214\345\217\211\346\240\221\347\232\204\350\212\202\347\202\271\344\270\252\346\225\260-01.png" differ diff --git "a/problems/images/0222.\345\256\214\345\205\250\344\272\214\345\217\211\346\240\221\347\232\204\350\212\202\347\202\271\344\270\252\346\225\260-02.png" "b/problems/images/0222.\345\256\214\345\205\250\344\272\214\345\217\211\346\240\221\347\232\204\350\212\202\347\202\271\344\270\252\346\225\260-02.png" new file mode 100644 index 0000000000..8496dea350 Binary files /dev/null and "b/problems/images/0222.\345\256\214\345\205\250\344\272\214\345\217\211\346\240\221\347\232\204\350\212\202\347\202\271\344\270\252\346\225\260-02.png" differ diff --git "a/problems/images/0222.\345\256\214\345\205\250\344\272\214\345\217\211\346\240\221\347\232\204\350\212\202\347\202\271\344\270\252\346\225\260-03.png" "b/problems/images/0222.\345\256\214\345\205\250\344\272\214\345\217\211\346\240\221\347\232\204\350\212\202\347\202\271\344\270\252\346\225\260-03.png" new file mode 100644 index 0000000000..ed23748597 Binary files /dev/null and "b/problems/images/0222.\345\256\214\345\205\250\344\272\214\345\217\211\346\240\221\347\232\204\350\212\202\347\202\271\344\270\252\346\225\260-03.png" differ diff --git "a/problems/images/0222.\345\256\214\345\205\250\344\272\214\345\217\211\346\240\221\347\232\204\350\212\202\347\202\271\344\270\252\346\225\260-04.png" "b/problems/images/0222.\345\256\214\345\205\250\344\272\214\345\217\211\346\240\221\347\232\204\350\212\202\347\202\271\344\270\252\346\225\260-04.png" new file mode 100644 index 0000000000..8ffabbeb8c Binary files /dev/null and "b/problems/images/0222.\345\256\214\345\205\250\344\272\214\345\217\211\346\240\221\347\232\204\350\212\202\347\202\271\344\270\252\346\225\260-04.png" differ diff --git "a/problems/images/0222.\345\256\214\345\205\250\344\272\214\345\217\211\346\240\221\347\232\204\350\212\202\347\202\271\344\270\252\346\225\260-05.png" "b/problems/images/0222.\345\256\214\345\205\250\344\272\214\345\217\211\346\240\221\347\232\204\350\212\202\347\202\271\344\270\252\346\225\260-05.png" new file mode 100644 index 0000000000..e1150fd24d Binary files /dev/null and "b/problems/images/0222.\345\256\214\345\205\250\344\272\214\345\217\211\346\240\221\347\232\204\350\212\202\347\202\271\344\270\252\346\225\260-05.png" differ diff --git "a/problems/images/0222.\345\256\214\345\205\250\344\272\214\345\217\211\346\240\221\347\232\204\350\212\202\347\202\271\344\270\252\346\225\260-06.png" "b/problems/images/0222.\345\256\214\345\205\250\344\272\214\345\217\211\346\240\221\347\232\204\350\212\202\347\202\271\344\270\252\346\225\260-06.png" new file mode 100644 index 0000000000..6fae182f2c Binary files /dev/null and "b/problems/images/0222.\345\256\214\345\205\250\344\272\214\345\217\211\346\240\221\347\232\204\350\212\202\347\202\271\344\270\252\346\225\260-06.png" differ diff --git "a/problems/images/0225.\347\224\250\351\230\237\345\210\227\345\256\236\347\216\260\346\240\210-01.gif" "b/problems/images/0225.\347\224\250\351\230\237\345\210\227\345\256\236\347\216\260\346\240\210-01.gif" new file mode 100644 index 0000000000..69f75e6faf Binary files /dev/null and "b/problems/images/0225.\347\224\250\351\230\237\345\210\227\345\256\236\347\216\260\346\240\210-01.gif" differ diff --git "a/problems/images/0226.\347\277\273\350\275\254\344\272\214\345\217\211\346\240\221-01.png" "b/problems/images/0226.\347\277\273\350\275\254\344\272\214\345\217\211\346\240\221-01.png" new file mode 100644 index 0000000000..1e3aec9128 Binary files /dev/null and "b/problems/images/0226.\347\277\273\350\275\254\344\272\214\345\217\211\346\240\221-01.png" differ diff --git "a/problems/images/0226.\347\277\273\350\275\254\344\272\214\345\217\211\346\240\221-02.png" "b/problems/images/0226.\347\277\273\350\275\254\344\272\214\345\217\211\346\240\221-02.png" new file mode 100644 index 0000000000..9435a12d9a Binary files /dev/null and "b/problems/images/0226.\347\277\273\350\275\254\344\272\214\345\217\211\346\240\221-02.png" differ diff --git "a/problems/images/0226.\347\277\273\350\275\254\344\272\214\345\217\211\346\240\221-03.gif" "b/problems/images/0226.\347\277\273\350\275\254\344\272\214\345\217\211\346\240\221-03.gif" new file mode 100644 index 0000000000..afdfe7c08a Binary files /dev/null and "b/problems/images/0226.\347\277\273\350\275\254\344\272\214\345\217\211\346\240\221-03.gif" differ diff --git "a/problems/images/0232.\347\224\250\346\240\210\345\256\236\347\216\260\351\230\237\345\210\227-01.gif" "b/problems/images/0232.\347\224\250\346\240\210\345\256\236\347\216\260\351\230\237\345\210\227-01.gif" new file mode 100644 index 0000000000..3d90fd9a8e Binary files /dev/null and "b/problems/images/0232.\347\224\250\346\240\210\345\256\236\347\216\260\351\230\237\345\210\227-01.gif" differ diff --git "a/problems/images/0234.\345\233\236\346\226\207\351\223\276\350\241\250-01.png" "b/problems/images/0234.\345\233\236\346\226\207\351\223\276\350\241\250-01.png" new file mode 100644 index 0000000000..285c73bbe7 Binary files /dev/null and "b/problems/images/0234.\345\233\236\346\226\207\351\223\276\350\241\250-01.png" differ diff --git "a/problems/images/0235.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\347\232\204\346\234\200\350\277\221\345\205\254\345\205\261\347\245\226\345\205\210-01.png" "b/problems/images/0235.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\347\232\204\346\234\200\350\277\221\345\205\254\345\205\261\347\245\226\345\205\210-01.png" new file mode 100644 index 0000000000..5ee7de9f3d Binary files /dev/null and "b/problems/images/0235.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\347\232\204\346\234\200\350\277\221\345\205\254\345\205\261\347\245\226\345\205\210-01.png" differ diff --git "a/problems/images/0235.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\347\232\204\346\234\200\350\277\221\345\205\254\345\205\261\347\245\226\345\205\210-02.png" "b/problems/images/0235.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\347\232\204\346\234\200\350\277\221\345\205\254\345\205\261\347\245\226\345\205\210-02.png" new file mode 100644 index 0000000000..5ddb40a580 Binary files /dev/null and "b/problems/images/0235.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\347\232\204\346\234\200\350\277\221\345\205\254\345\205\261\347\245\226\345\205\210-02.png" differ diff --git "a/problems/images/0235.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\347\232\204\346\234\200\350\277\221\345\205\254\345\205\261\347\245\226\345\205\210-03.png" "b/problems/images/0235.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\347\232\204\346\234\200\350\277\221\345\205\254\345\205\261\347\245\226\345\205\210-03.png" new file mode 100644 index 0000000000..e026f7dc34 Binary files /dev/null and "b/problems/images/0235.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\347\232\204\346\234\200\350\277\221\345\205\254\345\205\261\347\245\226\345\205\210-03.png" differ diff --git "a/problems/images/0236.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\350\277\221\345\205\254\345\205\261\347\245\226\345\205\210-01.png" "b/problems/images/0236.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\350\277\221\345\205\254\345\205\261\347\245\226\345\205\210-01.png" new file mode 100644 index 0000000000..cd62a26c7c Binary files /dev/null and "b/problems/images/0236.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\350\277\221\345\205\254\345\205\261\347\245\226\345\205\210-01.png" differ diff --git "a/problems/images/0236.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\350\277\221\345\205\254\345\205\261\347\245\226\345\205\210-02.png" "b/problems/images/0236.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\350\277\221\345\205\254\345\205\261\347\245\226\345\205\210-02.png" new file mode 100644 index 0000000000..2a3964b05f Binary files /dev/null and "b/problems/images/0236.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\350\277\221\345\205\254\345\205\261\347\245\226\345\205\210-02.png" differ diff --git "a/problems/images/0236.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\350\277\221\345\205\254\345\205\261\347\245\226\345\205\210-03.png" "b/problems/images/0236.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\350\277\221\345\205\254\345\205\261\347\245\226\345\205\210-03.png" new file mode 100644 index 0000000000..8f273dc09d Binary files /dev/null and "b/problems/images/0236.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\350\277\221\345\205\254\345\205\261\347\245\226\345\205\210-03.png" differ diff --git "a/problems/images/0236.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\350\277\221\345\205\254\345\205\261\347\245\226\345\205\210-04.png" "b/problems/images/0236.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\350\277\221\345\205\254\345\205\261\347\245\226\345\205\210-04.png" new file mode 100644 index 0000000000..023dd9556f Binary files /dev/null and "b/problems/images/0236.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\350\277\221\345\205\254\345\205\261\347\245\226\345\205\210-04.png" differ diff --git "a/problems/images/0236.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\350\277\221\345\205\254\345\205\261\347\245\226\345\205\210-05.png" "b/problems/images/0236.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\350\277\221\345\205\254\345\205\261\347\245\226\345\205\210-05.png" new file mode 100644 index 0000000000..4542ad5cac Binary files /dev/null and "b/problems/images/0236.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\350\277\221\345\205\254\345\205\261\347\245\226\345\205\210-05.png" differ diff --git "a/problems/images/0236.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\350\277\221\345\205\254\345\205\261\347\245\226\345\205\210-06.png" "b/problems/images/0236.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\350\277\221\345\205\254\345\205\261\347\245\226\345\205\210-06.png" new file mode 100644 index 0000000000..1681fbcc49 Binary files /dev/null and "b/problems/images/0236.\344\272\214\345\217\211\346\240\221\347\232\204\346\234\200\350\277\221\345\205\254\345\205\261\347\245\226\345\205\210-06.png" differ diff --git "a/problems/images/0239.\346\273\221\345\212\250\347\252\227\345\217\243\346\234\200\345\244\247\345\200\274-01.png" "b/problems/images/0239.\346\273\221\345\212\250\347\252\227\345\217\243\346\234\200\345\244\247\345\200\274-01.png" new file mode 100644 index 0000000000..49734e5d9c Binary files /dev/null and "b/problems/images/0239.\346\273\221\345\212\250\347\252\227\345\217\243\346\234\200\345\244\247\345\200\274-01.png" differ diff --git "a/problems/images/0239.\346\273\221\345\212\250\347\252\227\345\217\243\346\234\200\345\244\247\345\200\274-02.gif" "b/problems/images/0239.\346\273\221\345\212\250\347\252\227\345\217\243\346\234\200\345\244\247\345\200\274-02.gif" new file mode 100644 index 0000000000..90c8f11a33 Binary files /dev/null and "b/problems/images/0239.\346\273\221\345\212\250\347\252\227\345\217\243\346\234\200\345\244\247\345\200\274-02.gif" differ diff --git "a/problems/images/0239.\346\273\221\345\212\250\347\252\227\345\217\243\346\234\200\345\244\247\345\200\274-03.gif" "b/problems/images/0239.\346\273\221\345\212\250\347\252\227\345\217\243\346\234\200\345\244\247\345\200\274-03.gif" new file mode 100644 index 0000000000..d62d363757 Binary files /dev/null and "b/problems/images/0239.\346\273\221\345\212\250\347\252\227\345\217\243\346\234\200\345\244\247\345\200\274-03.gif" differ diff --git "a/problems/images/0242.\346\234\211\346\225\210\347\232\204\345\255\227\346\257\215\345\274\202\344\275\215\350\257\215-01.gif" "b/problems/images/0242.\346\234\211\346\225\210\347\232\204\345\255\227\346\257\215\345\274\202\344\275\215\350\257\215-01.gif" new file mode 100644 index 0000000000..febc0badea Binary files /dev/null and "b/problems/images/0242.\346\234\211\346\225\210\347\232\204\345\255\227\346\257\215\345\274\202\344\275\215\350\257\215-01.gif" differ diff --git "a/problems/images/0257.\344\272\214\345\217\211\346\240\221\347\232\204\346\211\200\346\234\211\350\267\257\345\276\204-01.png" "b/problems/images/0257.\344\272\214\345\217\211\346\240\221\347\232\204\346\211\200\346\234\211\350\267\257\345\276\204-01.png" new file mode 100644 index 0000000000..97452f5125 Binary files /dev/null and "b/problems/images/0257.\344\272\214\345\217\211\346\240\221\347\232\204\346\211\200\346\234\211\350\267\257\345\276\204-01.png" differ diff --git "a/problems/images/0257.\344\272\214\345\217\211\346\240\221\347\232\204\346\211\200\346\234\211\350\267\257\345\276\204-02.png" "b/problems/images/0257.\344\272\214\345\217\211\346\240\221\347\232\204\346\211\200\346\234\211\350\267\257\345\276\204-02.png" new file mode 100644 index 0000000000..0a0683e058 Binary files /dev/null and "b/problems/images/0257.\344\272\214\345\217\211\346\240\221\347\232\204\346\211\200\346\234\211\350\267\257\345\276\204-02.png" differ diff --git "a/problems/images/0257.\344\272\214\345\217\211\346\240\221\347\232\204\346\211\200\346\234\211\350\267\257\345\276\204-03.png" "b/problems/images/0257.\344\272\214\345\217\211\346\240\221\347\232\204\346\211\200\346\234\211\350\267\257\345\276\204-03.png" new file mode 100644 index 0000000000..c6f3322a07 Binary files /dev/null and "b/problems/images/0257.\344\272\214\345\217\211\346\240\221\347\232\204\346\211\200\346\234\211\350\267\257\345\276\204-03.png" differ diff --git "a/problems/images/0279.\345\256\214\345\205\250\345\271\263\346\226\271\346\225\260-01.jpg" "b/problems/images/0279.\345\256\214\345\205\250\345\271\263\346\226\271\346\225\260-01.jpg" new file mode 100644 index 0000000000..81ef357817 Binary files /dev/null and "b/problems/images/0279.\345\256\214\345\205\250\345\271\263\346\226\271\346\225\260-01.jpg" differ diff --git "a/problems/images/0283.\347\247\273\345\212\250\351\233\266-01.gif" "b/problems/images/0283.\347\247\273\345\212\250\351\233\266-01.gif" new file mode 100644 index 0000000000..b42c3bf6b0 Binary files /dev/null and "b/problems/images/0283.\347\247\273\345\212\250\351\233\266-01.gif" differ diff --git "a/problems/images/0300.\346\234\200\351\225\277\344\270\212\345\215\207\345\255\220\345\272\217\345\210\227-01.jpg" "b/problems/images/0300.\346\234\200\351\225\277\344\270\212\345\215\207\345\255\220\345\272\217\345\210\227-01.jpg" new file mode 100644 index 0000000000..ba4285c7d4 Binary files /dev/null and "b/problems/images/0300.\346\234\200\351\225\277\344\270\212\345\215\207\345\255\220\345\272\217\345\210\227-01.jpg" differ diff --git "a/problems/images/0309.\346\234\200\344\275\263\344\271\260\345\215\226\350\202\241\347\245\250\346\227\266\346\234\272\345\220\253\345\206\267\345\206\273\346\234\237-01.png" "b/problems/images/0309.\346\234\200\344\275\263\344\271\260\345\215\226\350\202\241\347\245\250\346\227\266\346\234\272\345\220\253\345\206\267\345\206\273\346\234\237-01.png" new file mode 100644 index 0000000000..1a38bc629c Binary files /dev/null and "b/problems/images/0309.\346\234\200\344\275\263\344\271\260\345\215\226\350\202\241\347\245\250\346\227\266\346\234\272\345\220\253\345\206\267\345\206\273\346\234\237-01.png" differ diff --git "a/problems/images/0309.\346\234\200\344\275\263\344\271\260\345\215\226\350\202\241\347\245\250\346\227\266\346\234\272\345\220\253\345\206\267\345\206\273\346\234\237-02.png" "b/problems/images/0309.\346\234\200\344\275\263\344\271\260\345\215\226\350\202\241\347\245\250\346\227\266\346\234\272\345\220\253\345\206\267\345\206\273\346\234\237-02.png" new file mode 100644 index 0000000000..9f94ac0956 Binary files /dev/null and "b/problems/images/0309.\346\234\200\344\275\263\344\271\260\345\215\226\350\202\241\347\245\250\346\227\266\346\234\272\345\220\253\345\206\267\345\206\273\346\234\237-02.png" differ diff --git "a/problems/images/0322.\351\233\266\351\222\261\345\205\221\346\215\242-01.jpg" "b/problems/images/0322.\351\233\266\351\222\261\345\205\221\346\215\242-01.jpg" new file mode 100644 index 0000000000..90cc67a58b Binary files /dev/null and "b/problems/images/0322.\351\233\266\351\222\261\345\205\221\346\215\242-01.jpg" differ diff --git "a/problems/images/0332.\351\207\215\346\226\260\345\256\211\346\216\222\350\241\214\347\250\213-01.png" "b/problems/images/0332.\351\207\215\346\226\260\345\256\211\346\216\222\350\241\214\347\250\213-01.png" new file mode 100644 index 0000000000..bc435dd9df Binary files /dev/null and "b/problems/images/0332.\351\207\215\346\226\260\345\256\211\346\216\222\350\241\214\347\250\213-01.png" differ diff --git "a/problems/images/0332.\351\207\215\346\226\260\345\256\211\346\216\222\350\241\214\347\250\213-02.png" "b/problems/images/0332.\351\207\215\346\226\260\345\256\211\346\216\222\350\241\214\347\250\213-02.png" new file mode 100644 index 0000000000..edbb240bf9 Binary files /dev/null and "b/problems/images/0332.\351\207\215\346\226\260\345\256\211\346\216\222\350\241\214\347\250\213-02.png" differ diff --git "a/problems/images/0332.\351\207\215\346\226\260\345\256\211\346\216\222\350\241\214\347\250\213-03.png" "b/problems/images/0332.\351\207\215\346\226\260\345\256\211\346\216\222\350\241\214\347\250\213-03.png" new file mode 100644 index 0000000000..edbb240bf9 Binary files /dev/null and "b/problems/images/0332.\351\207\215\346\226\260\345\256\211\346\216\222\350\241\214\347\250\213-03.png" differ diff --git "a/problems/images/0337.\346\211\223\345\256\266\345\212\253\350\210\215III-01.png" "b/problems/images/0337.\346\211\223\345\256\266\345\212\253\350\210\215III-01.png" new file mode 100644 index 0000000000..f0f1a2cba3 Binary files /dev/null and "b/problems/images/0337.\346\211\223\345\256\266\345\212\253\350\210\215III-01.png" differ diff --git "a/problems/images/0337.\346\211\223\345\256\266\345\212\253\350\210\215III-02.png" "b/problems/images/0337.\346\211\223\345\256\266\345\212\253\350\210\215III-02.png" new file mode 100644 index 0000000000..850e023164 Binary files /dev/null and "b/problems/images/0337.\346\211\223\345\256\266\345\212\253\350\210\215III-02.png" differ diff --git "a/problems/images/0343.\346\225\264\346\225\260\346\213\206\345\210\206-01.png" "b/problems/images/0343.\346\225\264\346\225\260\346\213\206\345\210\206-01.png" new file mode 100644 index 0000000000..32f61767eb Binary files /dev/null and "b/problems/images/0343.\346\225\264\346\225\260\346\213\206\345\210\206-01.png" differ diff --git "a/problems/images/0344.\345\217\215\350\275\254\345\255\227\347\254\246\344\270\262-01.gif" "b/problems/images/0344.\345\217\215\350\275\254\345\255\227\347\254\246\344\270\262-01.gif" new file mode 100644 index 0000000000..b99ef08641 Binary files /dev/null and "b/problems/images/0344.\345\217\215\350\275\254\345\255\227\347\254\246\344\270\262-01.gif" differ diff --git "a/problems/images/0347.\345\211\215K\344\270\252\351\253\230\351\242\221\345\205\203\347\264\240-01.jpg" "b/problems/images/0347.\345\211\215K\344\270\252\351\253\230\351\242\221\345\205\203\347\264\240-01.jpg" new file mode 100644 index 0000000000..4c1b0c4d54 Binary files /dev/null and "b/problems/images/0347.\345\211\215K\344\270\252\351\253\230\351\242\221\345\205\203\347\264\240-01.jpg" differ diff --git "a/problems/images/0349.\344\270\244\344\270\252\346\225\260\347\273\204\347\232\204\344\272\244\351\233\206-01.png" "b/problems/images/0349.\344\270\244\344\270\252\346\225\260\347\273\204\347\232\204\344\272\244\351\233\206-01.png" new file mode 100644 index 0000000000..166f6718c2 Binary files /dev/null and "b/problems/images/0349.\344\270\244\344\270\252\346\225\260\347\273\204\347\232\204\344\272\244\351\233\206-01.png" differ diff --git "a/problems/images/0349.\344\270\244\344\270\252\346\225\260\347\273\204\347\232\204\344\272\244\351\233\206-02.png" "b/problems/images/0349.\344\270\244\344\270\252\346\225\260\347\273\204\347\232\204\344\272\244\351\233\206-02.png" new file mode 100644 index 0000000000..84b38a4f9f Binary files /dev/null and "b/problems/images/0349.\344\270\244\344\270\252\346\225\260\347\273\204\347\232\204\344\272\244\351\233\206-02.png" differ diff --git "a/problems/images/0376.\346\221\206\345\212\250\345\272\217\345\210\227-01.png" "b/problems/images/0376.\346\221\206\345\212\250\345\272\217\345\210\227-01.png" new file mode 100644 index 0000000000..c6a06dfebc Binary files /dev/null and "b/problems/images/0376.\346\221\206\345\212\250\345\272\217\345\210\227-01.png" differ diff --git "a/problems/images/0376.\346\221\206\345\212\250\345\272\217\345\210\227-02.png" "b/problems/images/0376.\346\221\206\345\212\250\345\272\217\345\210\227-02.png" new file mode 100644 index 0000000000..eae163bd0b Binary files /dev/null and "b/problems/images/0376.\346\221\206\345\212\250\345\272\217\345\210\227-02.png" differ diff --git "a/problems/images/0376.\346\221\206\345\212\250\345\272\217\345\210\227-03.png" "b/problems/images/0376.\346\221\206\345\212\250\345\272\217\345\210\227-03.png" new file mode 100644 index 0000000000..5c11d6bbc7 Binary files /dev/null and "b/problems/images/0376.\346\221\206\345\212\250\345\272\217\345\210\227-03.png" differ diff --git "a/problems/images/0376.\346\221\206\345\212\250\345\272\217\345\210\227-04.png" "b/problems/images/0376.\346\221\206\345\212\250\345\272\217\345\210\227-04.png" new file mode 100644 index 0000000000..212e772227 Binary files /dev/null and "b/problems/images/0376.\346\221\206\345\212\250\345\272\217\345\210\227-04.png" differ diff --git "a/problems/images/0376.\346\221\206\345\212\250\345\272\217\345\210\227-05.png" "b/problems/images/0376.\346\221\206\345\212\250\345\272\217\345\210\227-05.png" new file mode 100644 index 0000000000..2069f76869 Binary files /dev/null and "b/problems/images/0376.\346\221\206\345\212\250\345\272\217\345\210\227-05.png" differ diff --git "a/problems/images/0376.\346\221\206\345\212\250\345\272\217\345\210\227-06.png" "b/problems/images/0376.\346\221\206\345\212\250\345\272\217\345\210\227-06.png" new file mode 100644 index 0000000000..61d7e13859 Binary files /dev/null and "b/problems/images/0376.\346\221\206\345\212\250\345\272\217\345\210\227-06.png" differ diff --git "a/problems/images/0377.\347\273\204\345\220\210\346\200\273\345\222\214\342\205\243-01.png" "b/problems/images/0377.\347\273\204\345\220\210\346\200\273\345\222\214\342\205\243-01.png" new file mode 100644 index 0000000000..5fc6d18c46 Binary files /dev/null and "b/problems/images/0377.\347\273\204\345\220\210\346\200\273\345\222\214\342\205\243-01.png" differ diff --git "a/problems/images/0392.\345\210\244\346\226\255\345\255\220\345\272\217\345\210\227-01.png" "b/problems/images/0392.\345\210\244\346\226\255\345\255\220\345\272\217\345\210\227-01.png" new file mode 100644 index 0000000000..d175569c27 Binary files /dev/null and "b/problems/images/0392.\345\210\244\346\226\255\345\255\220\345\272\217\345\210\227-01.png" differ diff --git "a/problems/images/0392.\345\210\244\346\226\255\345\255\220\345\272\217\345\210\227-02.jpg" "b/problems/images/0392.\345\210\244\346\226\255\345\255\220\345\272\217\345\210\227-02.jpg" new file mode 100644 index 0000000000..6779881e5b Binary files /dev/null and "b/problems/images/0392.\345\210\244\346\226\255\345\255\220\345\272\217\345\210\227-02.jpg" differ diff --git "a/problems/images/0392.\345\210\244\346\226\255\345\255\220\345\272\217\345\210\227-03.jpg" "b/problems/images/0392.\345\210\244\346\226\255\345\255\220\345\272\217\345\210\227-03.jpg" new file mode 100644 index 0000000000..f251bea1f7 Binary files /dev/null and "b/problems/images/0392.\345\210\244\346\226\255\345\255\220\345\272\217\345\210\227-03.jpg" differ diff --git "a/problems/images/0404.\345\267\246\345\217\266\345\255\220\344\271\213\345\222\214-01.png" "b/problems/images/0404.\345\267\246\345\217\266\345\255\220\344\271\213\345\222\214-01.png" new file mode 100644 index 0000000000..8c050e0499 Binary files /dev/null and "b/problems/images/0404.\345\267\246\345\217\266\345\255\220\344\271\213\345\222\214-01.png" differ diff --git "a/problems/images/0404.\345\267\246\345\217\266\345\255\220\344\271\213\345\222\214-02.png" "b/problems/images/0404.\345\267\246\345\217\266\345\255\220\344\271\213\345\222\214-02.png" new file mode 100644 index 0000000000..81b6d8c2e3 Binary files /dev/null and "b/problems/images/0404.\345\267\246\345\217\266\345\255\220\344\271\213\345\222\214-02.png" differ diff --git "a/problems/images/0404.\345\267\246\345\217\266\345\255\220\344\271\213\345\222\214-03.png" "b/problems/images/0404.\345\267\246\345\217\266\345\255\220\344\271\213\345\222\214-03.png" new file mode 100644 index 0000000000..9e306879bf Binary files /dev/null and "b/problems/images/0404.\345\267\246\345\217\266\345\255\220\344\271\213\345\222\214-03.png" differ diff --git "a/problems/images/0406.\346\240\271\346\215\256\350\272\253\351\253\230\351\207\215\345\273\272\351\230\237\345\210\227-01.png" "b/problems/images/0406.\346\240\271\346\215\256\350\272\253\351\253\230\351\207\215\345\273\272\351\230\237\345\210\227-01.png" new file mode 100644 index 0000000000..9ea8f0b2eb Binary files /dev/null and "b/problems/images/0406.\346\240\271\346\215\256\350\272\253\351\253\230\351\207\215\345\273\272\351\230\237\345\210\227-01.png" differ diff --git "a/problems/images/0416.\345\210\206\345\211\262\347\255\211\345\222\214\345\255\220\351\233\206-01.png" "b/problems/images/0416.\345\210\206\345\211\262\347\255\211\345\222\214\345\255\220\351\233\206-01.png" new file mode 100644 index 0000000000..db9f0b1fe8 Binary files /dev/null and "b/problems/images/0416.\345\210\206\345\211\262\347\255\211\345\222\214\345\255\220\351\233\206-01.png" differ diff --git "a/problems/images/0417.\345\244\252\345\271\263\346\264\213\345\244\247\350\245\277\346\264\213\346\260\264\346\265\201\351\227\256\351\242\230-01.png" "b/problems/images/0417.\345\244\252\345\271\263\346\264\213\345\244\247\350\245\277\346\264\213\346\260\264\346\265\201\351\227\256\351\242\230-01.png" new file mode 100644 index 0000000000..bf84c26e96 Binary files /dev/null and "b/problems/images/0417.\345\244\252\345\271\263\346\264\213\345\244\247\350\245\277\346\264\213\346\260\264\346\265\201\351\227\256\351\242\230-01.png" differ diff --git "a/problems/images/0417.\345\244\252\345\271\263\346\264\213\345\244\247\350\245\277\346\264\213\346\260\264\346\265\201\351\227\256\351\242\230-02.png" "b/problems/images/0417.\345\244\252\345\271\263\346\264\213\345\244\247\350\245\277\346\264\213\346\260\264\346\265\201\351\227\256\351\242\230-02.png" new file mode 100644 index 0000000000..7ffffdf161 Binary files /dev/null and "b/problems/images/0417.\345\244\252\345\271\263\346\264\213\345\244\247\350\245\277\346\264\213\346\260\264\346\265\201\351\227\256\351\242\230-02.png" differ diff --git "a/problems/images/0417.\345\244\252\345\271\263\346\264\213\345\244\247\350\245\277\346\264\213\346\260\264\346\265\201\351\227\256\351\242\230-03.png" "b/problems/images/0417.\345\244\252\345\271\263\346\264\213\345\244\247\350\245\277\346\264\213\346\260\264\346\265\201\351\227\256\351\242\230-03.png" new file mode 100644 index 0000000000..0cd4502ba2 Binary files /dev/null and "b/problems/images/0417.\345\244\252\345\271\263\346\264\213\345\244\247\350\245\277\346\264\213\346\260\264\346\265\201\351\227\256\351\242\230-03.png" differ diff --git "a/problems/images/0435.\346\227\240\351\207\215\345\217\240\345\214\272\351\227\264-01.png" "b/problems/images/0435.\346\227\240\351\207\215\345\217\240\345\214\272\351\227\264-01.png" new file mode 100644 index 0000000000..86a737fc8e Binary files /dev/null and "b/problems/images/0435.\346\227\240\351\207\215\345\217\240\345\214\272\351\227\264-01.png" differ diff --git "a/problems/images/0450.\345\210\240\351\231\244\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\350\212\202\347\202\271-01.png" "b/problems/images/0450.\345\210\240\351\231\244\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\350\212\202\347\202\271-01.png" new file mode 100644 index 0000000000..37402cfab1 Binary files /dev/null and "b/problems/images/0450.\345\210\240\351\231\244\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\350\212\202\347\202\271-01.png" differ diff --git "a/problems/images/0450.\345\210\240\351\231\244\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\350\212\202\347\202\271-02.gif" "b/problems/images/0450.\345\210\240\351\231\244\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\350\212\202\347\202\271-02.gif" new file mode 100644 index 0000000000..d6f8a639dc Binary files /dev/null and "b/problems/images/0450.\345\210\240\351\231\244\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\350\212\202\347\202\271-02.gif" differ diff --git "a/problems/images/0452.\347\224\250\346\234\200\345\260\221\346\225\260\351\207\217\347\232\204\347\256\255\345\274\225\347\210\206\346\260\224\347\220\203-01.png" "b/problems/images/0452.\347\224\250\346\234\200\345\260\221\346\225\260\351\207\217\347\232\204\347\256\255\345\274\225\347\210\206\346\260\224\347\220\203-01.png" new file mode 100644 index 0000000000..fd66c8f9aa Binary files /dev/null and "b/problems/images/0452.\347\224\250\346\234\200\345\260\221\346\225\260\351\207\217\347\232\204\347\256\255\345\274\225\347\210\206\346\260\224\347\220\203-01.png" differ diff --git "a/problems/images/0455.\345\210\206\345\217\221\351\245\274\345\271\262-01.png" "b/problems/images/0455.\345\210\206\345\217\221\351\245\274\345\271\262-01.png" new file mode 100644 index 0000000000..91cc2efaf1 Binary files /dev/null and "b/problems/images/0455.\345\210\206\345\217\221\351\245\274\345\271\262-01.png" differ diff --git "a/problems/images/0455.\345\210\206\345\217\221\351\245\274\345\271\262-02.png" "b/problems/images/0455.\345\210\206\345\217\221\351\245\274\345\271\262-02.png" new file mode 100644 index 0000000000..9c40df3b3d Binary files /dev/null and "b/problems/images/0455.\345\210\206\345\217\221\351\245\274\345\271\262-02.png" differ diff --git "a/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-01.png" "b/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-01.png" new file mode 100644 index 0000000000..cd929ab89c Binary files /dev/null and "b/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-01.png" differ diff --git "a/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-02.png" "b/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-02.png" new file mode 100644 index 0000000000..518570f0d2 Binary files /dev/null and "b/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-02.png" differ diff --git "a/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-03.png" "b/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-03.png" new file mode 100644 index 0000000000..c6b4c62f62 Binary files /dev/null and "b/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-03.png" differ diff --git "a/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-04.png" "b/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-04.png" new file mode 100644 index 0000000000..9454210eea Binary files /dev/null and "b/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-04.png" differ diff --git "a/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-05.png" "b/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-05.png" new file mode 100644 index 0000000000..49c383e834 Binary files /dev/null and "b/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-05.png" differ diff --git "a/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-06.png" "b/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-06.png" new file mode 100644 index 0000000000..efa01dc515 Binary files /dev/null and "b/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-06.png" differ diff --git "a/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-07.png" "b/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-07.png" new file mode 100644 index 0000000000..5185e7c84e Binary files /dev/null and "b/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-07.png" differ diff --git "a/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-08.png" "b/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-08.png" new file mode 100644 index 0000000000..ce4c5824ac Binary files /dev/null and "b/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-08.png" differ diff --git "a/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-09.png" "b/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-09.png" new file mode 100644 index 0000000000..0970fb63f8 Binary files /dev/null and "b/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-09.png" differ diff --git "a/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-10.png" "b/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-10.png" new file mode 100644 index 0000000000..069e54aae7 Binary files /dev/null and "b/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-10.png" differ diff --git "a/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-11.png" "b/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-11.png" new file mode 100644 index 0000000000..42ba9a2b32 Binary files /dev/null and "b/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-11.png" differ diff --git "a/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-12.png" "b/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-12.png" new file mode 100644 index 0000000000..549b10c2a5 Binary files /dev/null and "b/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-12.png" differ diff --git "a/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-13.png" "b/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-13.png" new file mode 100644 index 0000000000..ae1a2c5c27 Binary files /dev/null and "b/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-13.png" differ diff --git "a/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-14.png" "b/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-14.png" new file mode 100644 index 0000000000..a1dd8e069e Binary files /dev/null and "b/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-14.png" differ diff --git "a/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-15.png" "b/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-15.png" new file mode 100644 index 0000000000..241a04c794 Binary files /dev/null and "b/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-15.png" differ diff --git "a/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-16.png" "b/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-16.png" new file mode 100644 index 0000000000..2feddd6b96 Binary files /dev/null and "b/problems/images/0459.\351\207\215\345\244\215\347\232\204\345\255\220\345\255\227\347\254\246\344\270\262-16.png" differ diff --git "a/problems/images/0463.\345\262\233\345\261\277\347\232\204\345\221\250\351\225\277-01.png" "b/problems/images/0463.\345\262\233\345\261\277\347\232\204\345\221\250\351\225\277-01.png" new file mode 100644 index 0000000000..d33efe588d Binary files /dev/null and "b/problems/images/0463.\345\262\233\345\261\277\347\232\204\345\221\250\351\225\277-01.png" differ diff --git "a/problems/images/0463.\345\262\233\345\261\277\347\232\204\345\221\250\351\225\277-02.png" "b/problems/images/0463.\345\262\233\345\261\277\347\232\204\345\221\250\351\225\277-02.png" new file mode 100644 index 0000000000..5b0fa0137e Binary files /dev/null and "b/problems/images/0463.\345\262\233\345\261\277\347\232\204\345\221\250\351\225\277-02.png" differ diff --git "a/problems/images/0463.\345\262\233\345\261\277\347\232\204\345\221\250\351\225\277-03.png" "b/problems/images/0463.\345\262\233\345\261\277\347\232\204\345\221\250\351\225\277-03.png" new file mode 100644 index 0000000000..bb14dbd6bc Binary files /dev/null and "b/problems/images/0463.\345\262\233\345\261\277\347\232\204\345\221\250\351\225\277-03.png" differ diff --git "a/problems/images/0474.\344\270\200\345\222\214\351\233\266-01.png" "b/problems/images/0474.\344\270\200\345\222\214\351\233\266-01.png" new file mode 100644 index 0000000000..6be70dc624 Binary files /dev/null and "b/problems/images/0474.\344\270\200\345\222\214\351\233\266-01.png" differ diff --git "a/problems/images/0474.\344\270\200\345\222\214\351\233\266-02.jpg" "b/problems/images/0474.\344\270\200\345\222\214\351\233\266-02.jpg" new file mode 100644 index 0000000000..18b4df75eb Binary files /dev/null and "b/problems/images/0474.\344\270\200\345\222\214\351\233\266-02.jpg" differ diff --git "a/problems/images/0491.\351\200\222\345\242\236\345\255\220\345\272\217\345\210\227-01.png" "b/problems/images/0491.\351\200\222\345\242\236\345\255\220\345\272\217\345\210\227-01.png" new file mode 100644 index 0000000000..19da907e02 Binary files /dev/null and "b/problems/images/0491.\351\200\222\345\242\236\345\255\220\345\272\217\345\210\227-01.png" differ diff --git "a/problems/images/0491.\351\200\222\345\242\236\345\255\220\345\272\217\345\210\227-02.png" "b/problems/images/0491.\351\200\222\345\242\236\345\255\220\345\272\217\345\210\227-02.png" new file mode 100644 index 0000000000..19da907e02 Binary files /dev/null and "b/problems/images/0491.\351\200\222\345\242\236\345\255\220\345\272\217\345\210\227-02.png" differ diff --git "a/problems/images/0494.\347\233\256\346\240\207\345\222\214-01.png" "b/problems/images/0494.\347\233\256\346\240\207\345\222\214-01.png" new file mode 100644 index 0000000000..c5e88aed22 Binary files /dev/null and "b/problems/images/0494.\347\233\256\346\240\207\345\222\214-01.png" differ diff --git "a/problems/images/0494.\347\233\256\346\240\207\345\222\214-02.png" "b/problems/images/0494.\347\233\256\346\240\207\345\222\214-02.png" new file mode 100644 index 0000000000..2e99391cbd Binary files /dev/null and "b/problems/images/0494.\347\233\256\346\240\207\345\222\214-02.png" differ diff --git "a/problems/images/0494.\347\233\256\346\240\207\345\222\214-03.png" "b/problems/images/0494.\347\233\256\346\240\207\345\222\214-03.png" new file mode 100644 index 0000000000..9819de1258 Binary files /dev/null and "b/problems/images/0494.\347\233\256\346\240\207\345\222\214-03.png" differ diff --git "a/problems/images/0494.\347\233\256\346\240\207\345\222\214-04.png" "b/problems/images/0494.\347\233\256\346\240\207\345\222\214-04.png" new file mode 100644 index 0000000000..5fd1748463 Binary files /dev/null and "b/problems/images/0494.\347\233\256\346\240\207\345\222\214-04.png" differ diff --git "a/problems/images/0494.\347\233\256\346\240\207\345\222\214-05.png" "b/problems/images/0494.\347\233\256\346\240\207\345\222\214-05.png" new file mode 100644 index 0000000000..d7f5fccd2b Binary files /dev/null and "b/problems/images/0494.\347\233\256\346\240\207\345\222\214-05.png" differ diff --git "a/problems/images/0494.\347\233\256\346\240\207\345\222\214-06.png" "b/problems/images/0494.\347\233\256\346\240\207\345\222\214-06.png" new file mode 100644 index 0000000000..e2bedf31c2 Binary files /dev/null and "b/problems/images/0494.\347\233\256\346\240\207\345\222\214-06.png" differ diff --git "a/problems/images/0494.\347\233\256\346\240\207\345\222\214-07.png" "b/problems/images/0494.\347\233\256\346\240\207\345\222\214-07.png" new file mode 100644 index 0000000000..2eee3404e2 Binary files /dev/null and "b/problems/images/0494.\347\233\256\346\240\207\345\222\214-07.png" differ diff --git "a/problems/images/0494.\347\233\256\346\240\207\345\222\214-08.png" "b/problems/images/0494.\347\233\256\346\240\207\345\222\214-08.png" new file mode 100644 index 0000000000..be50c3bf2a Binary files /dev/null and "b/problems/images/0494.\347\233\256\346\240\207\345\222\214-08.png" differ diff --git "a/problems/images/0494.\347\233\256\346\240\207\345\222\214-09.png" "b/problems/images/0494.\347\233\256\346\240\207\345\222\214-09.png" new file mode 100644 index 0000000000..4b185db0c2 Binary files /dev/null and "b/problems/images/0494.\347\233\256\346\240\207\345\222\214-09.png" differ diff --git "a/problems/images/0494.\347\233\256\346\240\207\345\222\214-10.png" "b/problems/images/0494.\347\233\256\346\240\207\345\222\214-10.png" new file mode 100644 index 0000000000..1fe369b91f Binary files /dev/null and "b/problems/images/0494.\347\233\256\346\240\207\345\222\214-10.png" differ diff --git "a/problems/images/0494.\347\233\256\346\240\207\345\222\214-11.png" "b/problems/images/0494.\347\233\256\346\240\207\345\222\214-11.png" new file mode 100644 index 0000000000..bbfe87608c Binary files /dev/null and "b/problems/images/0494.\347\233\256\346\240\207\345\222\214-11.png" differ diff --git "a/problems/images/0494.\347\233\256\346\240\207\345\222\214-12.png" "b/problems/images/0494.\347\233\256\346\240\207\345\222\214-12.png" new file mode 100644 index 0000000000..810999939d Binary files /dev/null and "b/problems/images/0494.\347\233\256\346\240\207\345\222\214-12.png" differ diff --git "a/problems/images/0494.\347\233\256\346\240\207\345\222\214-13.png" "b/problems/images/0494.\347\233\256\346\240\207\345\222\214-13.png" new file mode 100644 index 0000000000..84bb85dec6 Binary files /dev/null and "b/problems/images/0494.\347\233\256\346\240\207\345\222\214-13.png" differ diff --git "a/problems/images/0494.\347\233\256\346\240\207\345\222\214-14.png" "b/problems/images/0494.\347\233\256\346\240\207\345\222\214-14.png" new file mode 100644 index 0000000000..9372c5fda6 Binary files /dev/null and "b/problems/images/0494.\347\233\256\346\240\207\345\222\214-14.png" differ diff --git "a/problems/images/0494.\347\233\256\346\240\207\345\222\214-15.jpg" "b/problems/images/0494.\347\233\256\346\240\207\345\222\214-15.jpg" new file mode 100644 index 0000000000..fee161cd16 Binary files /dev/null and "b/problems/images/0494.\347\233\256\346\240\207\345\222\214-15.jpg" differ diff --git "a/problems/images/0501.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\344\274\227\346\225\260-01.png" "b/problems/images/0501.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\344\274\227\346\225\260-01.png" new file mode 100644 index 0000000000..6d304d229b Binary files /dev/null and "b/problems/images/0501.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\344\274\227\346\225\260-01.png" differ diff --git "a/problems/images/0501.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\344\274\227\346\225\260-02.png" "b/problems/images/0501.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\344\274\227\346\225\260-02.png" new file mode 100644 index 0000000000..200bc2fa46 Binary files /dev/null and "b/problems/images/0501.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\344\274\227\346\225\260-02.png" differ diff --git "a/problems/images/0513.\346\211\276\346\240\221\345\267\246\344\270\213\350\247\222\347\232\204\345\200\274-01.png" "b/problems/images/0513.\346\211\276\346\240\221\345\267\246\344\270\213\350\247\222\347\232\204\345\200\274-01.png" new file mode 100644 index 0000000000..67bda96f74 Binary files /dev/null and "b/problems/images/0513.\346\211\276\346\240\221\345\267\246\344\270\213\350\247\222\347\232\204\345\200\274-01.png" differ diff --git "a/problems/images/0513.\346\211\276\346\240\221\345\267\246\344\270\213\350\247\222\347\232\204\345\200\274-02.png" "b/problems/images/0513.\346\211\276\346\240\221\345\267\246\344\270\213\350\247\222\347\232\204\345\200\274-02.png" new file mode 100644 index 0000000000..a5421ad686 Binary files /dev/null and "b/problems/images/0513.\346\211\276\346\240\221\345\267\246\344\270\213\350\247\222\347\232\204\345\200\274-02.png" differ diff --git "a/problems/images/0516.\346\234\200\351\225\277\345\233\236\346\226\207\345\255\220\345\272\217\345\210\227-01.jpg" "b/problems/images/0516.\346\234\200\351\225\277\345\233\236\346\226\207\345\255\220\345\272\217\345\210\227-01.jpg" new file mode 100644 index 0000000000..beb1e5a368 Binary files /dev/null and "b/problems/images/0516.\346\234\200\351\225\277\345\233\236\346\226\207\345\255\220\345\272\217\345\210\227-01.jpg" differ diff --git "a/problems/images/0516.\346\234\200\351\225\277\345\233\236\346\226\207\345\255\220\345\272\217\345\210\227-02.jpg" "b/problems/images/0516.\346\234\200\351\225\277\345\233\236\346\226\207\345\255\220\345\272\217\345\210\227-02.jpg" new file mode 100644 index 0000000000..2d30df2176 Binary files /dev/null and "b/problems/images/0516.\346\234\200\351\225\277\345\233\236\346\226\207\345\255\220\345\272\217\345\210\227-02.jpg" differ diff --git "a/problems/images/0516.\346\234\200\351\225\277\345\233\236\346\226\207\345\255\220\345\272\217\345\210\227-03.png" "b/problems/images/0516.\346\234\200\351\225\277\345\233\236\346\226\207\345\255\220\345\272\217\345\210\227-03.png" new file mode 100644 index 0000000000..d7ae142789 Binary files /dev/null and "b/problems/images/0516.\346\234\200\351\225\277\345\233\236\346\226\207\345\255\220\345\272\217\345\210\227-03.png" differ diff --git "a/problems/images/0516.\346\234\200\351\225\277\345\233\236\346\226\207\345\255\220\345\272\217\345\210\227-04.jpg" "b/problems/images/0516.\346\234\200\351\225\277\345\233\236\346\226\207\345\255\220\345\272\217\345\210\227-04.jpg" new file mode 100644 index 0000000000..cf2a276d17 Binary files /dev/null and "b/problems/images/0516.\346\234\200\351\225\277\345\233\236\346\226\207\345\255\220\345\272\217\345\210\227-04.jpg" differ diff --git "a/problems/images/0518.\351\233\266\351\222\261\345\205\221\346\215\242II-01.png" "b/problems/images/0518.\351\233\266\351\222\261\345\205\221\346\215\242II-01.png" new file mode 100644 index 0000000000..1fe369b91f Binary files /dev/null and "b/problems/images/0518.\351\233\266\351\222\261\345\205\221\346\215\242II-01.png" differ diff --git "a/problems/images/0518.\351\233\266\351\222\261\345\205\221\346\215\242II-02.jpg" "b/problems/images/0518.\351\233\266\351\222\261\345\205\221\346\215\242II-02.jpg" new file mode 100644 index 0000000000..65369f5550 Binary files /dev/null and "b/problems/images/0518.\351\233\266\351\222\261\345\205\221\346\215\242II-02.jpg" differ diff --git "a/problems/images/0530.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\347\232\204\346\234\200\345\260\217\347\273\235\345\257\271\345\267\256-01.png" "b/problems/images/0530.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\347\232\204\346\234\200\345\260\217\347\273\235\345\257\271\345\267\256-01.png" new file mode 100644 index 0000000000..f6dfe93daa Binary files /dev/null and "b/problems/images/0530.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\347\232\204\346\234\200\345\260\217\347\273\235\345\257\271\345\267\256-01.png" differ diff --git "a/problems/images/0530.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\347\232\204\346\234\200\345\260\217\347\273\235\345\257\271\345\267\256-02.png" "b/problems/images/0530.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\347\232\204\346\234\200\345\260\217\347\273\235\345\257\271\345\267\256-02.png" new file mode 100644 index 0000000000..04ca9a6523 Binary files /dev/null and "b/problems/images/0530.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\347\232\204\346\234\200\345\260\217\347\273\235\345\257\271\345\267\256-02.png" differ diff --git "a/problems/images/0538.\346\212\212\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\350\275\254\346\215\242\344\270\272\347\264\257\345\212\240\346\240\221-01.png" "b/problems/images/0538.\346\212\212\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\350\275\254\346\215\242\344\270\272\347\264\257\345\212\240\346\240\221-01.png" new file mode 100644 index 0000000000..bf1027a497 Binary files /dev/null and "b/problems/images/0538.\346\212\212\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\350\275\254\346\215\242\344\270\272\347\264\257\345\212\240\346\240\221-01.png" differ diff --git "a/problems/images/0538.\346\212\212\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\350\275\254\346\215\242\344\270\272\347\264\257\345\212\240\346\240\221-02.png" "b/problems/images/0538.\346\212\212\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\350\275\254\346\215\242\344\270\272\347\264\257\345\212\240\346\240\221-02.png" new file mode 100644 index 0000000000..27077f7bb0 Binary files /dev/null and "b/problems/images/0538.\346\212\212\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\350\275\254\346\215\242\344\270\272\347\264\257\345\212\240\346\240\221-02.png" differ diff --git "a/problems/images/0541.\345\217\215\350\275\254\345\255\227\347\254\246\344\270\262II-01.png" "b/problems/images/0541.\345\217\215\350\275\254\345\255\227\347\254\246\344\270\262II-01.png" new file mode 100644 index 0000000000..45f0ce6c83 Binary files /dev/null and "b/problems/images/0541.\345\217\215\350\275\254\345\255\227\347\254\246\344\270\262II-01.png" differ diff --git "a/problems/images/0583.\344\270\244\344\270\252\345\255\227\347\254\246\344\270\262\347\232\204\345\210\240\351\231\244\346\223\215\344\275\234-01.png" "b/problems/images/0583.\344\270\244\344\270\252\345\255\227\347\254\246\344\270\262\347\232\204\345\210\240\351\231\244\346\223\215\344\275\234-01.png" new file mode 100644 index 0000000000..de9916bb06 Binary files /dev/null and "b/problems/images/0583.\344\270\244\344\270\252\345\255\227\347\254\246\344\270\262\347\232\204\345\210\240\351\231\244\346\223\215\344\275\234-01.png" differ diff --git "a/problems/images/0617.\345\220\210\345\271\266\344\272\214\345\217\211\346\240\221-01.png" "b/problems/images/0617.\345\220\210\345\271\266\344\272\214\345\217\211\346\240\221-01.png" new file mode 100644 index 0000000000..b156fceb62 Binary files /dev/null and "b/problems/images/0617.\345\220\210\345\271\266\344\272\214\345\217\211\346\240\221-01.png" differ diff --git "a/problems/images/0617.\345\220\210\345\271\266\344\272\214\345\217\211\346\240\221-02.gif" "b/problems/images/0617.\345\220\210\345\271\266\344\272\214\345\217\211\346\240\221-02.gif" new file mode 100644 index 0000000000..00a8479bbf Binary files /dev/null and "b/problems/images/0617.\345\220\210\345\271\266\344\272\214\345\217\211\346\240\221-02.gif" differ diff --git "a/problems/images/0647.\345\233\236\346\226\207\345\255\220\344\270\262-01.png" "b/problems/images/0647.\345\233\236\346\226\207\345\255\220\344\270\262-01.png" new file mode 100644 index 0000000000..52b9a16e6e Binary files /dev/null and "b/problems/images/0647.\345\233\236\346\226\207\345\255\220\344\270\262-01.png" differ diff --git "a/problems/images/0647.\345\233\236\346\226\207\345\255\220\344\270\262-02.jpg" "b/problems/images/0647.\345\233\236\346\226\207\345\255\220\344\270\262-02.jpg" new file mode 100644 index 0000000000..c5114eda3f Binary files /dev/null and "b/problems/images/0647.\345\233\236\346\226\207\345\255\220\344\270\262-02.jpg" differ diff --git "a/problems/images/0647.\345\233\236\346\226\207\345\255\220\344\270\262-03.jpg" "b/problems/images/0647.\345\233\236\346\226\207\345\255\220\344\270\262-03.jpg" new file mode 100644 index 0000000000..d822890906 Binary files /dev/null and "b/problems/images/0647.\345\233\236\346\226\207\345\255\220\344\270\262-03.jpg" differ diff --git "a/problems/images/0654.\346\234\200\345\244\247\344\272\214\345\217\211\346\240\221-01.png" "b/problems/images/0654.\346\234\200\345\244\247\344\272\214\345\217\211\346\240\221-01.png" new file mode 100644 index 0000000000..e8fc63aa3b Binary files /dev/null and "b/problems/images/0654.\346\234\200\345\244\247\344\272\214\345\217\211\346\240\221-01.png" differ diff --git "a/problems/images/0654.\346\234\200\345\244\247\344\272\214\345\217\211\346\240\221-02.gif" "b/problems/images/0654.\346\234\200\345\244\247\344\272\214\345\217\211\346\240\221-02.gif" new file mode 100644 index 0000000000..3baa815837 Binary files /dev/null and "b/problems/images/0654.\346\234\200\345\244\247\344\272\214\345\217\211\346\240\221-02.gif" differ diff --git "a/problems/images/0657.\346\234\272\345\231\250\344\272\272\350\203\275\345\220\246\350\277\224\345\233\236\345\216\237\347\202\271-01.png" "b/problems/images/0657.\346\234\272\345\231\250\344\272\272\350\203\275\345\220\246\350\277\224\345\233\236\345\216\237\347\202\271-01.png" new file mode 100644 index 0000000000..6ea5b69b2b Binary files /dev/null and "b/problems/images/0657.\346\234\272\345\231\250\344\272\272\350\203\275\345\220\246\350\277\224\345\233\236\345\216\237\347\202\271-01.png" differ diff --git "a/problems/images/0669.\344\277\256\345\211\252\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-01.png" "b/problems/images/0669.\344\277\256\345\211\252\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-01.png" new file mode 100644 index 0000000000..998a422556 Binary files /dev/null and "b/problems/images/0669.\344\277\256\345\211\252\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-01.png" differ diff --git "a/problems/images/0669.\344\277\256\345\211\252\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-02.png" "b/problems/images/0669.\344\277\256\345\211\252\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-02.png" new file mode 100644 index 0000000000..d82ff536b0 Binary files /dev/null and "b/problems/images/0669.\344\277\256\345\211\252\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-02.png" differ diff --git "a/problems/images/0669.\344\277\256\345\211\252\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-03.png" "b/problems/images/0669.\344\277\256\345\211\252\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-03.png" new file mode 100644 index 0000000000..89fe41041d Binary files /dev/null and "b/problems/images/0669.\344\277\256\345\211\252\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-03.png" differ diff --git "a/problems/images/0669.\344\277\256\345\211\252\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-04.png" "b/problems/images/0669.\344\277\256\345\211\252\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-04.png" new file mode 100644 index 0000000000..1b46e8d068 Binary files /dev/null and "b/problems/images/0669.\344\277\256\345\211\252\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-04.png" differ diff --git "a/problems/images/0669.\344\277\256\345\211\252\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-05.png" "b/problems/images/0669.\344\277\256\345\211\252\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-05.png" new file mode 100644 index 0000000000..1b46e8d068 Binary files /dev/null and "b/problems/images/0669.\344\277\256\345\211\252\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221-05.png" differ diff --git "a/problems/images/0673.\346\234\200\351\225\277\351\200\222\345\242\236\345\255\220\345\272\217\345\210\227\347\232\204\344\270\252\346\225\260-01.png" "b/problems/images/0673.\346\234\200\351\225\277\351\200\222\345\242\236\345\255\220\345\272\217\345\210\227\347\232\204\344\270\252\346\225\260-01.png" new file mode 100644 index 0000000000..0dcd056156 Binary files /dev/null and "b/problems/images/0673.\346\234\200\351\225\277\351\200\222\345\242\236\345\255\220\345\272\217\345\210\227\347\232\204\344\270\252\346\225\260-01.png" differ diff --git "a/problems/images/0674.\346\234\200\351\225\277\350\277\236\347\273\255\351\200\222\345\242\236\345\272\217\345\210\227-01.jpg" "b/problems/images/0674.\346\234\200\351\225\277\350\277\236\347\273\255\351\200\222\345\242\236\345\272\217\345\210\227-01.jpg" new file mode 100644 index 0000000000..1179ec1abd Binary files /dev/null and "b/problems/images/0674.\346\234\200\351\225\277\350\277\236\347\273\255\351\200\222\345\242\236\345\272\217\345\210\227-01.jpg" differ diff --git "a/problems/images/0684.\345\206\227\344\275\231\350\277\236\346\216\245-01.png" "b/problems/images/0684.\345\206\227\344\275\231\350\277\236\346\216\245-01.png" new file mode 100644 index 0000000000..1ba49e7156 Binary files /dev/null and "b/problems/images/0684.\345\206\227\344\275\231\350\277\236\346\216\245-01.png" differ diff --git "a/problems/images/0684.\345\206\227\344\275\231\350\277\236\346\216\245-02.png" "b/problems/images/0684.\345\206\227\344\275\231\350\277\236\346\216\245-02.png" new file mode 100644 index 0000000000..1acff2cf1a Binary files /dev/null and "b/problems/images/0684.\345\206\227\344\275\231\350\277\236\346\216\245-02.png" differ diff --git "a/problems/images/0684.\345\206\227\344\275\231\350\277\236\346\216\245-03.png" "b/problems/images/0684.\345\206\227\344\275\231\350\277\236\346\216\245-03.png" new file mode 100644 index 0000000000..6f9cba80b8 Binary files /dev/null and "b/problems/images/0684.\345\206\227\344\275\231\350\277\236\346\216\245-03.png" differ diff --git "a/problems/images/0685.\345\206\227\344\275\231\350\277\236\346\216\245II-01.png" "b/problems/images/0685.\345\206\227\344\275\231\350\277\236\346\216\245II-01.png" new file mode 100644 index 0000000000..87b5d06fa8 Binary files /dev/null and "b/problems/images/0685.\345\206\227\344\275\231\350\277\236\346\216\245II-01.png" differ diff --git "a/problems/images/0685.\345\206\227\344\275\231\350\277\236\346\216\245II-02.png" "b/problems/images/0685.\345\206\227\344\275\231\350\277\236\346\216\245II-02.png" new file mode 100644 index 0000000000..718ecbba76 Binary files /dev/null and "b/problems/images/0685.\345\206\227\344\275\231\350\277\236\346\216\245II-02.png" differ diff --git "a/problems/images/0685.\345\206\227\344\275\231\350\277\236\346\216\245II-03.png" "b/problems/images/0685.\345\206\227\344\275\231\350\277\236\346\216\245II-03.png" new file mode 100644 index 0000000000..ab833087e1 Binary files /dev/null and "b/problems/images/0685.\345\206\227\344\275\231\350\277\236\346\216\245II-03.png" differ diff --git "a/problems/images/0685.\345\206\227\344\275\231\350\277\236\346\216\245II-04.png" "b/problems/images/0685.\345\206\227\344\275\231\350\277\236\346\216\245II-04.png" new file mode 100644 index 0000000000..6dbb2ac7ff Binary files /dev/null and "b/problems/images/0685.\345\206\227\344\275\231\350\277\236\346\216\245II-04.png" differ diff --git "a/problems/images/0695.\345\262\233\345\261\277\347\232\204\346\234\200\345\244\247\351\235\242\347\247\257-01.png" "b/problems/images/0695.\345\262\233\345\261\277\347\232\204\346\234\200\345\244\247\351\235\242\347\247\257-01.png" new file mode 100644 index 0000000000..f102906109 Binary files /dev/null and "b/problems/images/0695.\345\262\233\345\261\277\347\232\204\346\234\200\345\244\247\351\235\242\347\247\257-01.png" differ diff --git "a/problems/images/0695.\345\262\233\345\261\277\347\232\204\346\234\200\345\244\247\351\235\242\347\247\257-02.png" "b/problems/images/0695.\345\262\233\345\261\277\347\232\204\346\234\200\345\244\247\351\235\242\347\247\257-02.png" new file mode 100644 index 0000000000..f9dd723d7b Binary files /dev/null and "b/problems/images/0695.\345\262\233\345\261\277\347\232\204\346\234\200\345\244\247\351\235\242\347\247\257-02.png" differ diff --git "a/problems/images/0700.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\346\220\234\347\264\242-01.png" "b/problems/images/0700.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\346\220\234\347\264\242-01.png" new file mode 100644 index 0000000000..1fd1546613 Binary files /dev/null and "b/problems/images/0700.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\346\220\234\347\264\242-01.png" differ diff --git "a/problems/images/0700.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\346\220\234\347\264\242-02.png" "b/problems/images/0700.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\346\220\234\347\264\242-02.png" new file mode 100644 index 0000000000..94659cac4e Binary files /dev/null and "b/problems/images/0700.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\346\220\234\347\264\242-02.png" differ diff --git "a/problems/images/0701.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\346\217\222\345\205\245\346\223\215\344\275\234-01.png" "b/problems/images/0701.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\346\217\222\345\205\245\346\223\215\344\275\234-01.png" new file mode 100644 index 0000000000..dce342f400 Binary files /dev/null and "b/problems/images/0701.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\346\217\222\345\205\245\346\223\215\344\275\234-01.png" differ diff --git "a/problems/images/0701.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\346\217\222\345\205\245\346\223\215\344\275\234-02.gif" "b/problems/images/0701.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\346\217\222\345\205\245\346\223\215\344\275\234-02.gif" new file mode 100644 index 0000000000..184937d02c Binary files /dev/null and "b/problems/images/0701.\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\344\270\255\347\232\204\346\217\222\345\205\245\346\223\215\344\275\234-02.gif" differ diff --git "a/problems/images/0704.\344\272\214\345\210\206\346\237\245\346\211\276-01.jpg" "b/problems/images/0704.\344\272\214\345\210\206\346\237\245\346\211\276-01.jpg" new file mode 100644 index 0000000000..0622594032 Binary files /dev/null and "b/problems/images/0704.\344\272\214\345\210\206\346\237\245\346\211\276-01.jpg" differ diff --git "a/problems/images/0704.\344\272\214\345\210\206\346\237\245\346\211\276-02.jpg" "b/problems/images/0704.\344\272\214\345\210\206\346\237\245\346\211\276-02.jpg" new file mode 100644 index 0000000000..06e61eacc5 Binary files /dev/null and "b/problems/images/0704.\344\272\214\345\210\206\346\237\245\346\211\276-02.jpg" differ diff --git "a/problems/images/0707.\350\256\276\350\256\241\351\223\276\350\241\250-01.png" "b/problems/images/0707.\350\256\276\350\256\241\351\223\276\350\241\250-01.png" new file mode 100644 index 0000000000..7e93999952 Binary files /dev/null and "b/problems/images/0707.\350\256\276\350\256\241\351\223\276\350\241\250-01.png" differ diff --git "a/problems/images/0707.\350\256\276\350\256\241\351\223\276\350\241\250-02.png" "b/problems/images/0707.\350\256\276\350\256\241\351\223\276\350\241\250-02.png" new file mode 100644 index 0000000000..a865665efb Binary files /dev/null and "b/problems/images/0707.\350\256\276\350\256\241\351\223\276\350\241\250-02.png" differ diff --git "a/problems/images/0707.\350\256\276\350\256\241\351\223\276\350\241\250-03.png" "b/problems/images/0707.\350\256\276\350\256\241\351\223\276\350\241\250-03.png" new file mode 100644 index 0000000000..5ff3d8554e Binary files /dev/null and "b/problems/images/0707.\350\256\276\350\256\241\351\223\276\350\241\250-03.png" differ diff --git "a/problems/images/0718.\346\234\200\351\225\277\351\207\215\345\244\215\345\255\220\346\225\260\347\273\204-01.jpg" "b/problems/images/0718.\346\234\200\351\225\277\351\207\215\345\244\215\345\255\220\346\225\260\347\273\204-01.jpg" new file mode 100644 index 0000000000..9070317c70 Binary files /dev/null and "b/problems/images/0718.\346\234\200\351\225\277\351\207\215\345\244\215\345\255\220\346\225\260\347\273\204-01.jpg" differ diff --git "a/problems/images/0718.\346\234\200\351\225\277\351\207\215\345\244\215\345\255\220\346\225\260\347\273\204-02.jpg" "b/problems/images/0718.\346\234\200\351\225\277\351\207\215\345\244\215\345\255\220\346\225\260\347\273\204-02.jpg" new file mode 100644 index 0000000000..9070317c70 Binary files /dev/null and "b/problems/images/0718.\346\234\200\351\225\277\351\207\215\345\244\215\345\255\220\346\225\260\347\273\204-02.jpg" differ diff --git "a/problems/images/0739.\346\257\217\346\227\245\346\270\251\345\272\246-01.jpg" "b/problems/images/0739.\346\257\217\346\227\245\346\270\251\345\272\246-01.jpg" new file mode 100644 index 0000000000..6a6729fe46 Binary files /dev/null and "b/problems/images/0739.\346\257\217\346\227\245\346\270\251\345\272\246-01.jpg" differ diff --git "a/problems/images/0739.\346\257\217\346\227\245\346\270\251\345\272\246-02.jpg" "b/problems/images/0739.\346\257\217\346\227\245\346\270\251\345\272\246-02.jpg" new file mode 100644 index 0000000000..635d997303 Binary files /dev/null and "b/problems/images/0739.\346\257\217\346\227\245\346\270\251\345\272\246-02.jpg" differ diff --git "a/problems/images/0739.\346\257\217\346\227\245\346\270\251\345\272\246-03.jpg" "b/problems/images/0739.\346\257\217\346\227\245\346\270\251\345\272\246-03.jpg" new file mode 100644 index 0000000000..5f6e514d37 Binary files /dev/null and "b/problems/images/0739.\346\257\217\346\227\245\346\270\251\345\272\246-03.jpg" differ diff --git "a/problems/images/0739.\346\257\217\346\227\245\346\270\251\345\272\246-04.jpg" "b/problems/images/0739.\346\257\217\346\227\245\346\270\251\345\272\246-04.jpg" new file mode 100644 index 0000000000..56b45f34d8 Binary files /dev/null and "b/problems/images/0739.\346\257\217\346\227\245\346\270\251\345\272\246-04.jpg" differ diff --git "a/problems/images/0739.\346\257\217\346\227\245\346\270\251\345\272\246-05.jpg" "b/problems/images/0739.\346\257\217\346\227\245\346\270\251\345\272\246-05.jpg" new file mode 100644 index 0000000000..5ae0efa809 Binary files /dev/null and "b/problems/images/0739.\346\257\217\346\227\245\346\270\251\345\272\246-05.jpg" differ diff --git "a/problems/images/0739.\346\257\217\346\227\245\346\270\251\345\272\246-06.jpg" "b/problems/images/0739.\346\257\217\346\227\245\346\270\251\345\272\246-06.jpg" new file mode 100644 index 0000000000..464e0f0254 Binary files /dev/null and "b/problems/images/0739.\346\257\217\346\227\245\346\270\251\345\272\246-06.jpg" differ diff --git "a/problems/images/0739.\346\257\217\346\227\245\346\270\251\345\272\246-07.jpg" "b/problems/images/0739.\346\257\217\346\227\245\346\270\251\345\272\246-07.jpg" new file mode 100644 index 0000000000..1c72aaa628 Binary files /dev/null and "b/problems/images/0739.\346\257\217\346\227\245\346\270\251\345\272\246-07.jpg" differ diff --git "a/problems/images/0739.\346\257\217\346\227\245\346\270\251\345\272\246-08.jpg" "b/problems/images/0739.\346\257\217\346\227\245\346\270\251\345\272\246-08.jpg" new file mode 100644 index 0000000000..f95d2646f5 Binary files /dev/null and "b/problems/images/0739.\346\257\217\346\227\245\346\270\251\345\272\246-08.jpg" differ diff --git "a/problems/images/0739.\346\257\217\346\227\245\346\270\251\345\272\246-09.jpg" "b/problems/images/0739.\346\257\217\346\227\245\346\270\251\345\272\246-09.jpg" new file mode 100644 index 0000000000..52d7c7d94c Binary files /dev/null and "b/problems/images/0739.\346\257\217\346\227\245\346\270\251\345\272\246-09.jpg" differ diff --git "a/problems/images/0739.\346\257\217\346\227\245\346\270\251\345\272\246-10.jpg" "b/problems/images/0739.\346\257\217\346\227\245\346\270\251\345\272\246-10.jpg" new file mode 100644 index 0000000000..b3943ad2ee Binary files /dev/null and "b/problems/images/0739.\346\257\217\346\227\245\346\270\251\345\272\246-10.jpg" differ diff --git "a/problems/images/0739.\346\257\217\346\227\245\346\270\251\345\272\246-11.jpg" "b/problems/images/0739.\346\257\217\346\227\245\346\270\251\345\272\246-11.jpg" new file mode 100644 index 0000000000..34f591f940 Binary files /dev/null and "b/problems/images/0739.\346\257\217\346\227\245\346\270\251\345\272\246-11.jpg" differ diff --git "a/problems/images/0739.\346\257\217\346\227\245\346\270\251\345\272\246-12.jpg" "b/problems/images/0739.\346\257\217\346\227\245\346\270\251\345\272\246-12.jpg" new file mode 100644 index 0000000000..731b5e6a27 Binary files /dev/null and "b/problems/images/0739.\346\257\217\346\227\245\346\270\251\345\272\246-12.jpg" differ diff --git "a/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-01.png" "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-01.png" new file mode 100644 index 0000000000..48ddddfd37 Binary files /dev/null and "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-01.png" differ diff --git "a/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-02.png" "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-02.png" new file mode 100644 index 0000000000..926a8908da Binary files /dev/null and "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-02.png" differ diff --git "a/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-03.png" "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-03.png" new file mode 100644 index 0000000000..1fd2d04069 Binary files /dev/null and "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-03.png" differ diff --git "a/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-04.png" "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-04.png" new file mode 100644 index 0000000000..28381cb68e Binary files /dev/null and "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-04.png" differ diff --git "a/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-05.png" "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-05.png" new file mode 100644 index 0000000000..8dc52ded05 Binary files /dev/null and "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-05.png" differ diff --git "a/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-06.png" "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-06.png" new file mode 100644 index 0000000000..fb5de870f9 Binary files /dev/null and "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-06.png" differ diff --git "a/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-07.png" "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-07.png" new file mode 100644 index 0000000000..172ea4ae72 Binary files /dev/null and "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-07.png" differ diff --git "a/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-08.png" "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-08.png" new file mode 100644 index 0000000000..7fd10ef620 Binary files /dev/null and "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-08.png" differ diff --git "a/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-09.png" "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-09.png" new file mode 100644 index 0000000000..b09d39357b Binary files /dev/null and "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-09.png" differ diff --git "a/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-10.png" "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-10.png" new file mode 100644 index 0000000000..6f038c2e8c Binary files /dev/null and "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-10.png" differ diff --git "a/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-11.png" "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-11.png" new file mode 100644 index 0000000000..9ef2437454 Binary files /dev/null and "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-11.png" differ diff --git "a/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-12.png" "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-12.png" new file mode 100644 index 0000000000..e1a7cc9286 Binary files /dev/null and "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-12.png" differ diff --git "a/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-13.png" "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-13.png" new file mode 100644 index 0000000000..2e8daf393b Binary files /dev/null and "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-13.png" differ diff --git "a/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-14.png" "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-14.png" new file mode 100644 index 0000000000..671c041720 Binary files /dev/null and "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-14.png" differ diff --git "a/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-15.png" "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-15.png" new file mode 100644 index 0000000000..ef98c085d2 Binary files /dev/null and "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-15.png" differ diff --git "a/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-16.png" "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-16.png" new file mode 100644 index 0000000000..311d2f3d55 Binary files /dev/null and "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-16.png" differ diff --git "a/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-17.png" "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-17.png" new file mode 100644 index 0000000000..3385135492 Binary files /dev/null and "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-17.png" differ diff --git "a/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-18.png" "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-18.png" new file mode 100644 index 0000000000..898c536f9a Binary files /dev/null and "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-18.png" differ diff --git "a/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-19.png" "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-19.png" new file mode 100644 index 0000000000..a6d0e64d3c Binary files /dev/null and "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-19.png" differ diff --git "a/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-20.png" "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-20.png" new file mode 100644 index 0000000000..de82659910 Binary files /dev/null and "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-20.png" differ diff --git "a/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-21.png" "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-21.png" new file mode 100644 index 0000000000..de82659910 Binary files /dev/null and "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-21.png" differ diff --git "a/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-22.png" "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-22.png" new file mode 100644 index 0000000000..ffe7355d89 Binary files /dev/null and "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-22.png" differ diff --git "a/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-23.png" "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-23.png" new file mode 100644 index 0000000000..de82659910 Binary files /dev/null and "b/problems/images/0743.\347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264-23.png" differ diff --git "a/problems/images/0746.\344\275\277\347\224\250\346\234\200\345\260\217\350\212\261\350\264\271\347\210\254\346\245\274\346\242\257-01.png" "b/problems/images/0746.\344\275\277\347\224\250\346\234\200\345\260\217\350\212\261\350\264\271\347\210\254\346\245\274\346\242\257-01.png" new file mode 100644 index 0000000000..9ed468be11 Binary files /dev/null and "b/problems/images/0746.\344\275\277\347\224\250\346\234\200\345\260\217\350\212\261\350\264\271\347\210\254\346\245\274\346\242\257-01.png" differ diff --git "a/problems/images/0746.\344\275\277\347\224\250\346\234\200\345\260\217\350\212\261\350\264\271\347\210\254\346\245\274\346\242\257-02.png" "b/problems/images/0746.\344\275\277\347\224\250\346\234\200\345\260\217\350\212\261\350\264\271\347\210\254\346\245\274\346\242\257-02.png" new file mode 100644 index 0000000000..b928772c26 Binary files /dev/null and "b/problems/images/0746.\344\275\277\347\224\250\346\234\200\345\260\217\350\212\261\350\264\271\347\210\254\346\245\274\346\242\257-02.png" differ diff --git "a/problems/images/0763.\345\210\222\345\210\206\345\255\227\346\257\215\345\214\272\351\227\264-01.png" "b/problems/images/0763.\345\210\222\345\210\206\345\255\227\346\257\215\345\214\272\351\227\264-01.png" new file mode 100644 index 0000000000..7d9dbb1dc5 Binary files /dev/null and "b/problems/images/0763.\345\210\222\345\210\206\345\255\227\346\257\215\345\214\272\351\227\264-01.png" differ diff --git "a/problems/images/0787.K\347\253\231\344\270\255\350\275\254\345\206\205\346\234\200\344\276\277\345\256\234\347\232\204\350\210\252\347\217\255-01.png" "b/problems/images/0787.K\347\253\231\344\270\255\350\275\254\345\206\205\346\234\200\344\276\277\345\256\234\347\232\204\350\210\252\347\217\255-01.png" new file mode 100644 index 0000000000..1e9a874078 Binary files /dev/null and "b/problems/images/0787.K\347\253\231\344\270\255\350\275\254\345\206\205\346\234\200\344\276\277\345\256\234\347\232\204\350\210\252\347\217\255-01.png" differ diff --git "a/problems/images/0787.K\347\253\231\344\270\255\350\275\254\345\206\205\346\234\200\344\276\277\345\256\234\347\232\204\350\210\252\347\217\255-02.png" "b/problems/images/0787.K\347\253\231\344\270\255\350\275\254\345\206\205\346\234\200\344\276\277\345\256\234\347\232\204\350\210\252\347\217\255-02.png" new file mode 100644 index 0000000000..fb5f097670 Binary files /dev/null and "b/problems/images/0787.K\347\253\231\344\270\255\350\275\254\345\206\205\346\234\200\344\276\277\345\256\234\347\232\204\350\210\252\347\217\255-02.png" differ diff --git "a/problems/images/0787.K\347\253\231\344\270\255\350\275\254\345\206\205\346\234\200\344\276\277\345\256\234\347\232\204\350\210\252\347\217\255-03.png" "b/problems/images/0787.K\347\253\231\344\270\255\350\275\254\345\206\205\346\234\200\344\276\277\345\256\234\347\232\204\350\210\252\347\217\255-03.png" new file mode 100644 index 0000000000..5da1b0c745 Binary files /dev/null and "b/problems/images/0787.K\347\253\231\344\270\255\350\275\254\345\206\205\346\234\200\344\276\277\345\256\234\347\232\204\350\210\252\347\217\255-03.png" differ diff --git "a/problems/images/0797.\346\211\200\346\234\211\345\217\257\350\203\275\347\232\204\350\267\257\345\276\204-01.png" "b/problems/images/0797.\346\211\200\346\234\211\345\217\257\350\203\275\347\232\204\350\267\257\345\276\204-01.png" new file mode 100644 index 0000000000..cf401665a7 Binary files /dev/null and "b/problems/images/0797.\346\211\200\346\234\211\345\217\257\350\203\275\347\232\204\350\267\257\345\276\204-01.png" differ diff --git "a/problems/images/0797.\346\211\200\346\234\211\345\217\257\350\203\275\347\232\204\350\267\257\345\276\204-02.png" "b/problems/images/0797.\346\211\200\346\234\211\345\217\257\350\203\275\347\232\204\350\267\257\345\276\204-02.png" new file mode 100644 index 0000000000..88110bbae1 Binary files /dev/null and "b/problems/images/0797.\346\211\200\346\234\211\345\217\257\350\203\275\347\232\204\350\267\257\345\276\204-02.png" differ diff --git "a/problems/images/0827.\346\234\200\345\244\247\344\272\272\345\267\245\345\262\233-01.png" "b/problems/images/0827.\346\234\200\345\244\247\344\272\272\345\267\245\345\262\233-01.png" new file mode 100644 index 0000000000..5aaaf30d77 Binary files /dev/null and "b/problems/images/0827.\346\234\200\345\244\247\344\272\272\345\267\245\345\262\233-01.png" differ diff --git "a/problems/images/0827.\346\234\200\345\244\247\344\272\272\345\267\245\345\262\233-02.png" "b/problems/images/0827.\346\234\200\345\244\247\344\272\272\345\267\245\345\262\233-02.png" new file mode 100644 index 0000000000..53b58bbc57 Binary files /dev/null and "b/problems/images/0827.\346\234\200\345\244\247\344\272\272\345\267\245\345\262\233-02.png" differ diff --git "a/problems/images/0827.\346\234\200\345\244\247\344\272\272\345\267\245\345\262\233-03.png" "b/problems/images/0827.\346\234\200\345\244\247\344\272\272\345\267\245\345\262\233-03.png" new file mode 100644 index 0000000000..306ac12462 Binary files /dev/null and "b/problems/images/0827.\346\234\200\345\244\247\344\272\272\345\267\245\345\262\233-03.png" differ diff --git "a/problems/images/0841.\351\222\245\345\214\231\345\222\214\346\210\277\351\227\264-01.png" "b/problems/images/0841.\351\222\245\345\214\231\345\222\214\346\210\277\351\227\264-01.png" new file mode 100644 index 0000000000..a2a8478eb9 Binary files /dev/null and "b/problems/images/0841.\351\222\245\345\214\231\345\222\214\346\210\277\351\227\264-01.png" differ diff --git "a/problems/images/0841.\351\222\245\345\214\231\345\222\214\346\210\277\351\227\264-02.png" "b/problems/images/0841.\351\222\245\345\214\231\345\222\214\346\210\277\351\227\264-02.png" new file mode 100644 index 0000000000..f22c50b06f Binary files /dev/null and "b/problems/images/0841.\351\222\245\345\214\231\345\222\214\346\210\277\351\227\264-02.png" differ diff --git "a/problems/images/0844.\346\257\224\350\276\203\345\220\253\351\200\200\346\240\274\347\232\204\345\255\227\347\254\246\344\270\262-01.gif" "b/problems/images/0844.\346\257\224\350\276\203\345\220\253\351\200\200\346\240\274\347\232\204\345\255\227\347\254\246\344\270\262-01.gif" new file mode 100644 index 0000000000..39cf9b338b Binary files /dev/null and "b/problems/images/0844.\346\257\224\350\276\203\345\220\253\351\200\200\346\240\274\347\232\204\345\255\227\347\254\246\344\270\262-01.gif" differ diff --git "a/problems/images/0925.\351\225\277\346\214\211\351\224\256\345\205\245-01.gif" "b/problems/images/0925.\351\225\277\346\214\211\351\224\256\345\205\245-01.gif" new file mode 100644 index 0000000000..5e986d1a06 Binary files /dev/null and "b/problems/images/0925.\351\225\277\346\214\211\351\224\256\345\205\245-01.gif" differ diff --git "a/problems/images/0941.\346\234\211\346\225\210\347\232\204\345\261\261\350\204\211\346\225\260\347\273\204-01.png" "b/problems/images/0941.\346\234\211\346\225\210\347\232\204\345\261\261\350\204\211\346\225\260\347\273\204-01.png" new file mode 100644 index 0000000000..7392e21cbd Binary files /dev/null and "b/problems/images/0941.\346\234\211\346\225\210\347\232\204\345\261\261\350\204\211\346\225\260\347\273\204-01.png" differ diff --git "a/problems/images/0941.\346\234\211\346\225\210\347\232\204\345\261\261\350\204\211\346\225\260\347\273\204-02.png" "b/problems/images/0941.\346\234\211\346\225\210\347\232\204\345\261\261\350\204\211\346\225\260\347\273\204-02.png" new file mode 100644 index 0000000000..e261242c19 Binary files /dev/null and "b/problems/images/0941.\346\234\211\346\225\210\347\232\204\345\261\261\350\204\211\346\225\260\347\273\204-02.png" differ diff --git "a/problems/images/0968.\347\233\221\346\216\247\344\272\214\345\217\211\346\240\221-01.png" "b/problems/images/0968.\347\233\221\346\216\247\344\272\214\345\217\211\346\240\221-01.png" new file mode 100644 index 0000000000..5f2d6329e9 Binary files /dev/null and "b/problems/images/0968.\347\233\221\346\216\247\344\272\214\345\217\211\346\240\221-01.png" differ diff --git "a/problems/images/0968.\347\233\221\346\216\247\344\272\214\345\217\211\346\240\221-02.png" "b/problems/images/0968.\347\233\221\346\216\247\344\272\214\345\217\211\346\240\221-02.png" new file mode 100644 index 0000000000..0f743bcc07 Binary files /dev/null and "b/problems/images/0968.\347\233\221\346\216\247\344\272\214\345\217\211\346\240\221-02.png" differ diff --git "a/problems/images/0968.\347\233\221\346\216\247\344\272\214\345\217\211\346\240\221-03.png" "b/problems/images/0968.\347\233\221\346\216\247\344\272\214\345\217\211\346\240\221-03.png" new file mode 100644 index 0000000000..664a656ebd Binary files /dev/null and "b/problems/images/0968.\347\233\221\346\216\247\344\272\214\345\217\211\346\240\221-03.png" differ diff --git "a/problems/images/0968.\347\233\221\346\216\247\344\272\214\345\217\211\346\240\221-04.png" "b/problems/images/0968.\347\233\221\346\216\247\344\272\214\345\217\211\346\240\221-04.png" new file mode 100644 index 0000000000..7e6a75df85 Binary files /dev/null and "b/problems/images/0968.\347\233\221\346\216\247\344\272\214\345\217\211\346\240\221-04.png" differ diff --git "a/problems/images/0968.\347\233\221\346\216\247\344\272\214\345\217\211\346\240\221-05.png" "b/problems/images/0968.\347\233\221\346\216\247\344\272\214\345\217\211\346\240\221-05.png" new file mode 100644 index 0000000000..0a3a9ea691 Binary files /dev/null and "b/problems/images/0968.\347\233\221\346\216\247\344\272\214\345\217\211\346\240\221-05.png" differ diff --git "a/problems/images/0977.\346\234\211\345\272\217\346\225\260\347\273\204\347\232\204\345\271\263\346\226\271-01.gif" "b/problems/images/0977.\346\234\211\345\272\217\346\225\260\347\273\204\347\232\204\345\271\263\346\226\271-01.gif" new file mode 100644 index 0000000000..38b3788dd0 Binary files /dev/null and "b/problems/images/0977.\346\234\211\345\272\217\346\225\260\347\273\204\347\232\204\345\271\263\346\226\271-01.gif" differ diff --git "a/problems/images/1002.\346\237\245\346\211\276\345\270\270\347\224\250\345\255\227\347\254\246-01.png" "b/problems/images/1002.\346\237\245\346\211\276\345\270\270\347\224\250\345\255\227\347\254\246-01.png" new file mode 100644 index 0000000000..23d7505770 Binary files /dev/null and "b/problems/images/1002.\346\237\245\346\211\276\345\270\270\347\224\250\345\255\227\347\254\246-01.png" differ diff --git "a/problems/images/1020.\351\243\236\345\234\260\347\232\204\346\225\260\351\207\217-01.png" "b/problems/images/1020.\351\243\236\345\234\260\347\232\204\346\225\260\351\207\217-01.png" new file mode 100644 index 0000000000..fb6dfd5d09 Binary files /dev/null and "b/problems/images/1020.\351\243\236\345\234\260\347\232\204\346\225\260\351\207\217-01.png" differ diff --git "a/problems/images/1020.\351\243\236\345\234\260\347\232\204\346\225\260\351\207\217-02.png" "b/problems/images/1020.\351\243\236\345\234\260\347\232\204\346\225\260\351\207\217-02.png" new file mode 100644 index 0000000000..79dc8f678e Binary files /dev/null and "b/problems/images/1020.\351\243\236\345\234\260\347\232\204\346\225\260\351\207\217-02.png" differ diff --git "a/problems/images/1020.\351\243\236\345\234\260\347\232\204\346\225\260\351\207\217-03.png" "b/problems/images/1020.\351\243\236\345\234\260\347\232\204\346\225\260\351\207\217-03.png" new file mode 100644 index 0000000000..e5cfcdd3fb Binary files /dev/null and "b/problems/images/1020.\351\243\236\345\234\260\347\232\204\346\225\260\351\207\217-03.png" differ diff --git "a/problems/images/1020.\351\243\236\345\234\260\347\232\204\346\225\260\351\207\217-04.png" "b/problems/images/1020.\351\243\236\345\234\260\347\232\204\346\225\260\351\207\217-04.png" new file mode 100644 index 0000000000..fbef562a45 Binary files /dev/null and "b/problems/images/1020.\351\243\236\345\234\260\347\232\204\346\225\260\351\207\217-04.png" differ diff --git "a/problems/images/1035.\344\270\215\347\233\270\344\272\244\347\232\204\347\272\277-01.png" "b/problems/images/1035.\344\270\215\347\233\270\344\272\244\347\232\204\347\272\277-01.png" new file mode 100644 index 0000000000..07ed91a204 Binary files /dev/null and "b/problems/images/1035.\344\270\215\347\233\270\344\272\244\347\232\204\347\272\277-01.png" differ diff --git "a/problems/images/1035.\344\270\215\347\233\270\344\272\244\347\232\204\347\272\277-02.png" "b/problems/images/1035.\344\270\215\347\233\270\344\272\244\347\232\204\347\272\277-02.png" new file mode 100644 index 0000000000..89264efd42 Binary files /dev/null and "b/problems/images/1035.\344\270\215\347\233\270\344\272\244\347\232\204\347\272\277-02.png" differ diff --git "a/problems/images/1047.\345\210\240\351\231\244\345\255\227\347\254\246\344\270\262\344\270\255\347\232\204\346\211\200\346\234\211\347\233\270\351\202\273\351\207\215\345\244\215\351\241\271-01.gif" "b/problems/images/1047.\345\210\240\351\231\244\345\255\227\347\254\246\344\270\262\344\270\255\347\232\204\346\211\200\346\234\211\347\233\270\351\202\273\351\207\215\345\244\215\351\241\271-01.gif" new file mode 100644 index 0000000000..a45c37d195 Binary files /dev/null and "b/problems/images/1047.\345\210\240\351\231\244\345\255\227\347\254\246\344\270\262\344\270\255\347\232\204\346\211\200\346\234\211\347\233\270\351\202\273\351\207\215\345\244\215\351\241\271-01.gif" differ diff --git "a/problems/images/1049.\346\234\200\345\220\216\344\270\200\345\235\227\347\237\263\345\244\264\347\232\204\351\207\215\351\207\217II-01.jpg" "b/problems/images/1049.\346\234\200\345\220\216\344\270\200\345\235\227\347\237\263\345\244\264\347\232\204\351\207\215\351\207\217II-01.jpg" new file mode 100644 index 0000000000..0a2653992a Binary files /dev/null and "b/problems/images/1049.\346\234\200\345\220\216\344\270\200\345\235\227\347\237\263\345\244\264\347\232\204\351\207\215\351\207\217II-01.jpg" differ diff --git "a/problems/images/1143.\346\234\200\351\225\277\345\205\254\345\205\261\345\255\220\345\272\217\345\210\227-01.jpg" "b/problems/images/1143.\346\234\200\351\225\277\345\205\254\345\205\261\345\255\220\345\272\217\345\210\227-01.jpg" new file mode 100644 index 0000000000..2e02ef7080 Binary files /dev/null and "b/problems/images/1143.\346\234\200\351\225\277\345\205\254\345\205\261\345\255\220\345\272\217\345\210\227-01.jpg" differ diff --git "a/problems/images/1143.\346\234\200\351\225\277\345\205\254\345\205\261\345\255\220\345\272\217\345\210\227-02.jpg" "b/problems/images/1143.\346\234\200\351\225\277\345\205\254\345\205\261\345\255\220\345\272\217\345\210\227-02.jpg" new file mode 100644 index 0000000000..4e78914eb2 Binary files /dev/null and "b/problems/images/1143.\346\234\200\351\225\277\345\205\254\345\205\261\345\255\220\345\272\217\345\210\227-02.jpg" differ diff --git "a/problems/images/1207.\347\213\254\344\270\200\346\227\240\344\272\214\347\232\204\345\207\272\347\216\260\346\254\241\346\225\260-01.png" "b/problems/images/1207.\347\213\254\344\270\200\346\227\240\344\272\214\347\232\204\345\207\272\347\216\260\346\254\241\346\225\260-01.png" new file mode 100644 index 0000000000..bbb036e6cd Binary files /dev/null and "b/problems/images/1207.\347\213\254\344\270\200\346\227\240\344\272\214\347\232\204\345\207\272\347\216\260\346\254\241\346\225\260-01.png" differ diff --git "a/problems/images/1254.\347\273\237\350\256\241\345\260\201\351\227\255\345\262\233\345\261\277\347\232\204\346\225\260\347\233\256-01.png" "b/problems/images/1254.\347\273\237\350\256\241\345\260\201\351\227\255\345\262\233\345\261\277\347\232\204\346\225\260\347\233\256-01.png" new file mode 100644 index 0000000000..0f77dd117b Binary files /dev/null and "b/problems/images/1254.\347\273\237\350\256\241\345\260\201\351\227\255\345\262\233\345\261\277\347\232\204\346\225\260\347\233\256-01.png" differ diff --git "a/problems/images/1254.\347\273\237\350\256\241\345\260\201\351\227\255\345\262\233\345\261\277\347\232\204\346\225\260\347\233\256-02.png" "b/problems/images/1254.\347\273\237\350\256\241\345\260\201\351\227\255\345\262\233\345\261\277\347\232\204\346\225\260\347\233\256-02.png" new file mode 100644 index 0000000000..528a462538 Binary files /dev/null and "b/problems/images/1254.\347\273\237\350\256\241\345\260\201\351\227\255\345\262\233\345\261\277\347\232\204\346\225\260\347\233\256-02.png" differ diff --git "a/problems/images/1356.\346\240\271\346\215\256\346\225\260\345\255\227\344\272\214\350\277\233\345\210\266\344\270\2131\347\232\204\346\225\260\347\233\256\346\216\222\345\272\217-01.png" "b/problems/images/1356.\346\240\271\346\215\256\346\225\260\345\255\227\344\272\214\350\277\233\345\210\266\344\270\2131\347\232\204\346\225\260\347\233\256\346\216\222\345\272\217-01.png" new file mode 100644 index 0000000000..0fca9fed09 Binary files /dev/null and "b/problems/images/1356.\346\240\271\346\215\256\346\225\260\345\255\227\344\272\214\350\277\233\345\210\266\344\270\2131\347\232\204\346\225\260\347\233\256\346\216\222\345\272\217-01.png" differ diff --git "a/problems/images/1365.\346\234\211\345\244\232\345\260\221\345\260\217\344\272\216\345\275\223\345\211\215\346\225\260\345\255\227\347\232\204\346\225\260\345\255\227-01.png" "b/problems/images/1365.\346\234\211\345\244\232\345\260\221\345\260\217\344\272\216\345\275\223\345\211\215\346\225\260\345\255\227\347\232\204\346\225\260\345\255\227-01.png" new file mode 100644 index 0000000000..9d67d07bbc Binary files /dev/null and "b/problems/images/1365.\346\234\211\345\244\232\345\260\221\345\260\217\344\272\216\345\275\223\345\211\215\346\225\260\345\255\227\347\232\204\346\225\260\345\255\227-01.png" differ diff --git "a/problems/images/1382.\345\260\206\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\345\217\230\345\271\263\350\241\241-01.png" "b/problems/images/1382.\345\260\206\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\345\217\230\345\271\263\350\241\241-01.png" new file mode 100644 index 0000000000..5c33fb0084 Binary files /dev/null and "b/problems/images/1382.\345\260\206\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\345\217\230\345\271\263\350\241\241-01.png" differ diff --git "a/problems/images/1791.\346\211\276\345\207\272\346\230\237\345\236\213\345\233\276\347\232\204\344\270\255\345\277\203\350\212\202\347\202\271-01.png" "b/problems/images/1791.\346\211\276\345\207\272\346\230\237\345\236\213\345\233\276\347\232\204\344\270\255\345\277\203\350\212\202\347\202\271-01.png" new file mode 100644 index 0000000000..0e98eb913f Binary files /dev/null and "b/problems/images/1791.\346\211\276\345\207\272\346\230\237\345\236\213\345\233\276\347\232\204\344\270\255\345\277\203\350\212\202\347\202\271-01.png" differ diff --git "a/problems/images/1971.\345\257\273\346\211\276\345\233\276\344\270\255\346\230\257\345\220\246\345\255\230\345\234\250\350\267\257\345\276\204-01.png" "b/problems/images/1971.\345\257\273\346\211\276\345\233\276\344\270\255\346\230\257\345\220\246\345\255\230\345\234\250\350\267\257\345\276\204-01.png" new file mode 100644 index 0000000000..2fb327d032 Binary files /dev/null and "b/problems/images/1971.\345\257\273\346\211\276\345\233\276\344\270\255\346\230\257\345\220\246\345\255\230\345\234\250\350\267\257\345\276\204-01.png" differ diff --git "a/problems/images/20201003\344\272\214\345\217\211\346\240\221\345\221\250\346\234\253\346\200\273\347\273\223-01.png" "b/problems/images/20201003\344\272\214\345\217\211\346\240\221\345\221\250\346\234\253\346\200\273\347\273\223-01.png" new file mode 100644 index 0000000000..084630a9b3 Binary files /dev/null and "b/problems/images/20201003\344\272\214\345\217\211\346\240\221\345\221\250\346\234\253\346\200\273\347\273\223-01.png" differ diff --git "a/problems/images/20201107\345\233\236\346\272\257\345\221\250\346\234\253\346\200\273\347\273\223-01.png" "b/problems/images/20201107\345\233\236\346\272\257\345\221\250\346\234\253\346\200\273\347\273\223-01.png" new file mode 100644 index 0000000000..95430a665d Binary files /dev/null and "b/problems/images/20201107\345\233\236\346\272\257\345\221\250\346\234\253\346\200\273\347\273\223-01.png" differ diff --git "a/problems/images/20201107\345\233\236\346\272\257\345\221\250\346\234\253\346\200\273\347\273\223-02.png" "b/problems/images/20201107\345\233\236\346\272\257\345\221\250\346\234\253\346\200\273\347\273\223-02.png" new file mode 100644 index 0000000000..75fda6b366 Binary files /dev/null and "b/problems/images/20201107\345\233\236\346\272\257\345\221\250\346\234\253\346\200\273\347\273\223-02.png" differ diff --git "a/problems/images/20201107\345\233\236\346\272\257\345\221\250\346\234\253\346\200\273\347\273\223-03.png" "b/problems/images/20201107\345\233\236\346\272\257\345\221\250\346\234\253\346\200\273\347\273\223-03.png" new file mode 100644 index 0000000000..0b50823f86 Binary files /dev/null and "b/problems/images/20201107\345\233\236\346\272\257\345\221\250\346\234\253\346\200\273\347\273\223-03.png" differ diff --git "a/problems/images/20201107\345\233\236\346\272\257\345\221\250\346\234\253\346\200\273\347\273\223-04.png" "b/problems/images/20201107\345\233\236\346\272\257\345\221\250\346\234\253\346\200\273\347\273\223-04.png" new file mode 100644 index 0000000000..63d11f2efb Binary files /dev/null and "b/problems/images/20201107\345\233\236\346\272\257\345\221\250\346\234\253\346\200\273\347\273\223-04.png" differ diff --git "a/problems/images/20201107\345\233\236\346\272\257\345\221\250\346\234\253\346\200\273\347\273\223-05.png" "b/problems/images/20201107\345\233\236\346\272\257\345\221\250\346\234\253\346\200\273\347\273\223-05.png" new file mode 100644 index 0000000000..1700030fcf Binary files /dev/null and "b/problems/images/20201107\345\233\236\346\272\257\345\221\250\346\234\253\346\200\273\347\273\223-05.png" differ diff --git "a/problems/images/20201112\345\233\236\346\272\257\345\221\250\346\234\253\346\200\273\347\273\223-01.png" "b/problems/images/20201112\345\233\236\346\272\257\345\221\250\346\234\253\346\200\273\347\273\223-01.png" new file mode 100644 index 0000000000..e3fcc9b3d8 Binary files /dev/null and "b/problems/images/20201112\345\233\236\346\272\257\345\221\250\346\234\253\346\200\273\347\273\223-01.png" differ diff --git "a/problems/images/20201112\345\233\236\346\272\257\345\221\250\346\234\253\346\200\273\347\273\223-02.png" "b/problems/images/20201112\345\233\236\346\272\257\345\221\250\346\234\253\346\200\273\347\273\223-02.png" new file mode 100644 index 0000000000..8349b9fbdd Binary files /dev/null and "b/problems/images/20201112\345\233\236\346\272\257\345\221\250\346\234\253\346\200\273\347\273\223-02.png" differ diff --git "a/problems/images/20201112\345\233\236\346\272\257\345\221\250\346\234\253\346\200\273\347\273\223-03.png" "b/problems/images/20201112\345\233\236\346\272\257\345\221\250\346\234\253\346\200\273\347\273\223-03.png" new file mode 100644 index 0000000000..3ea4834a4e Binary files /dev/null and "b/problems/images/20201112\345\233\236\346\272\257\345\221\250\346\234\253\346\200\273\347\273\223-03.png" differ diff --git "a/problems/images/20201112\345\233\236\346\272\257\345\221\250\346\234\253\346\200\273\347\273\223-04.png" "b/problems/images/20201112\345\233\236\346\272\257\345\221\250\346\234\253\346\200\273\347\273\223-04.png" new file mode 100644 index 0000000000..db827bdb80 Binary files /dev/null and "b/problems/images/20201112\345\233\236\346\272\257\345\221\250\346\234\253\346\200\273\347\273\223-04.png" differ diff --git "a/problems/images/20201112\345\233\236\346\272\257\345\221\250\346\234\253\346\200\273\347\273\223-05.png" "b/problems/images/20201112\345\233\236\346\272\257\345\221\250\346\234\253\346\200\273\347\273\223-05.png" new file mode 100644 index 0000000000..8f6856782f Binary files /dev/null and "b/problems/images/20201112\345\233\236\346\272\257\345\221\250\346\234\253\346\200\273\347\273\223-05.png" differ diff --git "a/problems/images/20201112\345\233\236\346\272\257\345\221\250\346\234\253\346\200\273\347\273\223-06.png" "b/problems/images/20201112\345\233\236\346\272\257\345\221\250\346\234\253\346\200\273\347\273\223-06.png" new file mode 100644 index 0000000000..28c1651959 Binary files /dev/null and "b/problems/images/20201112\345\233\236\346\272\257\345\221\250\346\234\253\346\200\273\347\273\223-06.png" differ diff --git "a/problems/images/20201203\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223-01.png" "b/problems/images/20201203\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223-01.png" new file mode 100644 index 0000000000..9799abfdad Binary files /dev/null and "b/problems/images/20201203\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223-01.png" differ diff --git "a/problems/images/20201203\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223-02.png" "b/problems/images/20201203\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223-02.png" new file mode 100644 index 0000000000..dac9080c0d Binary files /dev/null and "b/problems/images/20201203\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223-02.png" differ diff --git "a/problems/images/20201203\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223-03.png" "b/problems/images/20201203\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223-03.png" new file mode 100644 index 0000000000..77130cb217 Binary files /dev/null and "b/problems/images/20201203\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223-03.png" differ diff --git "a/problems/images/20201203\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223-04.png" "b/problems/images/20201203\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223-04.png" new file mode 100644 index 0000000000..aa45f60a13 Binary files /dev/null and "b/problems/images/20201203\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223-04.png" differ diff --git "a/problems/images/20201203\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223-05.png" "b/problems/images/20201203\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223-05.png" new file mode 100644 index 0000000000..7850187f0f Binary files /dev/null and "b/problems/images/20201203\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223-05.png" differ diff --git "a/problems/images/20201210\345\244\215\346\235\202\345\272\246\345\210\206\346\236\220\345\221\250\346\234\253\346\200\273\347\273\223-01.png" "b/problems/images/20201210\345\244\215\346\235\202\345\272\246\345\210\206\346\236\220\345\221\250\346\234\253\346\200\273\347\273\223-01.png" new file mode 100644 index 0000000000..9de22df491 Binary files /dev/null and "b/problems/images/20201210\345\244\215\346\235\202\345\272\246\345\210\206\346\236\220\345\221\250\346\234\253\346\200\273\347\273\223-01.png" differ diff --git "a/problems/images/20201217\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223-01.png" "b/problems/images/20201217\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223-01.png" new file mode 100644 index 0000000000..86113b879d Binary files /dev/null and "b/problems/images/20201217\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223-01.png" differ diff --git "a/problems/images/20201217\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223-02.png" "b/problems/images/20201217\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223-02.png" new file mode 100644 index 0000000000..ac88ef9f76 Binary files /dev/null and "b/problems/images/20201217\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223-02.png" differ diff --git "a/problems/images/20201224\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223-01.png" "b/problems/images/20201224\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223-01.png" new file mode 100644 index 0000000000..fd66c8f9aa Binary files /dev/null and "b/problems/images/20201224\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223-01.png" differ diff --git "a/problems/images/20201224\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223-02.png" "b/problems/images/20201224\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223-02.png" new file mode 100644 index 0000000000..a45913c1b5 Binary files /dev/null and "b/problems/images/20201224\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223-02.png" differ diff --git "a/problems/images/20201224\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223-03.png" "b/problems/images/20201224\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223-03.png" new file mode 100644 index 0000000000..7d9dbb1dc5 Binary files /dev/null and "b/problems/images/20201224\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223-03.png" differ diff --git "a/problems/images/20201224\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223-04.png" "b/problems/images/20201224\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223-04.png" new file mode 100644 index 0000000000..ff905c72f7 Binary files /dev/null and "b/problems/images/20201224\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223-04.png" differ diff --git "a/problems/images/20210114\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-01.png" "b/problems/images/20210114\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-01.png" new file mode 100644 index 0000000000..0d84838d7d Binary files /dev/null and "b/problems/images/20210114\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-01.png" differ diff --git "a/problems/images/20210114\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-02.png" "b/problems/images/20210114\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-02.png" new file mode 100644 index 0000000000..4089187c32 Binary files /dev/null and "b/problems/images/20210114\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-02.png" differ diff --git "a/problems/images/20210114\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-03.png" "b/problems/images/20210114\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-03.png" new file mode 100644 index 0000000000..a6a7f107bf Binary files /dev/null and "b/problems/images/20210114\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-03.png" differ diff --git "a/problems/images/20210114\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-04.png" "b/problems/images/20210114\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-04.png" new file mode 100644 index 0000000000..1b377170f9 Binary files /dev/null and "b/problems/images/20210114\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-04.png" differ diff --git "a/problems/images/20210114\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-05.png" "b/problems/images/20210114\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-05.png" new file mode 100644 index 0000000000..32f61767eb Binary files /dev/null and "b/problems/images/20210114\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-05.png" differ diff --git "a/problems/images/20210114\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-06.png" "b/problems/images/20210114\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-06.png" new file mode 100644 index 0000000000..6c9ba0ad49 Binary files /dev/null and "b/problems/images/20210114\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-06.png" differ diff --git "a/problems/images/20210121\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-01.png" "b/problems/images/20210121\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-01.png" new file mode 100644 index 0000000000..6be70dc624 Binary files /dev/null and "b/problems/images/20210121\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-01.png" differ diff --git "a/problems/images/20210121\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-02.jpg" "b/problems/images/20210121\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-02.jpg" new file mode 100644 index 0000000000..80d6b31ee6 Binary files /dev/null and "b/problems/images/20210121\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-02.jpg" differ diff --git "a/problems/images/20210121\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-03.png" "b/problems/images/20210121\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-03.png" new file mode 100644 index 0000000000..6818de45b3 Binary files /dev/null and "b/problems/images/20210121\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-03.png" differ diff --git "a/problems/images/20210128\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-01.jpg" "b/problems/images/20210128\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-01.jpg" new file mode 100644 index 0000000000..fee161cd16 Binary files /dev/null and "b/problems/images/20210128\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-01.jpg" differ diff --git "a/problems/images/20210128\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-02.jpg" "b/problems/images/20210128\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-02.jpg" new file mode 100644 index 0000000000..18b4df75eb Binary files /dev/null and "b/problems/images/20210128\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-02.jpg" differ diff --git "a/problems/images/20210225\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-01.jpg" "b/problems/images/20210225\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-01.jpg" new file mode 100644 index 0000000000..c6d72a467b Binary files /dev/null and "b/problems/images/20210225\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-01.jpg" differ diff --git "a/problems/images/20210225\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-02.jpg" "b/problems/images/20210225\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-02.jpg" new file mode 100644 index 0000000000..a193dcfd9b Binary files /dev/null and "b/problems/images/20210225\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-02.jpg" differ diff --git "a/problems/images/20210225\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-03.jpg" "b/problems/images/20210225\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-03.jpg" new file mode 100644 index 0000000000..cc4dbda280 Binary files /dev/null and "b/problems/images/20210225\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-03.jpg" differ diff --git "a/problems/images/20210225\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-04.jpg" "b/problems/images/20210225\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-04.jpg" new file mode 100644 index 0000000000..f42c8f0f67 Binary files /dev/null and "b/problems/images/20210225\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-04.jpg" differ diff --git "a/problems/images/20210225\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-05.jpg" "b/problems/images/20210225\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-05.jpg" new file mode 100644 index 0000000000..f5240ef28d Binary files /dev/null and "b/problems/images/20210225\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-05.jpg" differ diff --git "a/problems/images/20210304\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-01.png" "b/problems/images/20210304\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-01.png" new file mode 100644 index 0000000000..c7cf382ce5 Binary files /dev/null and "b/problems/images/20210304\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-01.png" differ diff --git "a/problems/images/20210304\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-02.png" "b/problems/images/20210304\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-02.png" new file mode 100644 index 0000000000..018dc3d11b Binary files /dev/null and "b/problems/images/20210304\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-02.png" differ diff --git "a/problems/images/20210304\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-03.png" "b/problems/images/20210304\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-03.png" new file mode 100644 index 0000000000..8f05e5a225 Binary files /dev/null and "b/problems/images/20210304\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223-03.png" differ diff --git "a/problems/images/ACM\346\250\241\345\274\217-01.png" "b/problems/images/ACM\346\250\241\345\274\217-01.png" new file mode 100644 index 0000000000..d7074547e9 Binary files /dev/null and "b/problems/images/ACM\346\250\241\345\274\217-01.png" differ diff --git "a/problems/images/ACM\346\250\241\345\274\217-02.png" "b/problems/images/ACM\346\250\241\345\274\217-02.png" new file mode 100644 index 0000000000..3044d19fff Binary files /dev/null and "b/problems/images/ACM\346\250\241\345\274\217-02.png" differ diff --git "a/problems/images/ACM\346\250\241\345\274\217-03.png" "b/problems/images/ACM\346\250\241\345\274\217-03.png" new file mode 100644 index 0000000000..191f493703 Binary files /dev/null and "b/problems/images/ACM\346\250\241\345\274\217-03.png" differ diff --git "a/problems/images/ACM\346\250\241\345\274\217-04.png" "b/problems/images/ACM\346\250\241\345\274\217-04.png" new file mode 100644 index 0000000000..66c5be5ac9 Binary files /dev/null and "b/problems/images/ACM\346\250\241\345\274\217-04.png" differ diff --git "a/problems/images/ACM\346\250\241\345\274\217-05.png" "b/problems/images/ACM\346\250\241\345\274\217-05.png" new file mode 100644 index 0000000000..e838113062 Binary files /dev/null and "b/problems/images/ACM\346\250\241\345\274\217-05.png" differ diff --git "a/problems/images/ACM\346\250\241\345\274\217-06.png" "b/problems/images/ACM\346\250\241\345\274\217-06.png" new file mode 100644 index 0000000000..5d80589926 Binary files /dev/null and "b/problems/images/ACM\346\250\241\345\274\217-06.png" differ diff --git "a/problems/images/ACM\346\250\241\345\274\217-07.png" "b/problems/images/ACM\346\250\241\345\274\217-07.png" new file mode 100644 index 0000000000..80fcd12b65 Binary files /dev/null and "b/problems/images/ACM\346\250\241\345\274\217-07.png" differ diff --git "a/problems/images/ACM\346\250\241\345\274\217-08.png" "b/problems/images/ACM\346\250\241\345\274\217-08.png" new file mode 100644 index 0000000000..2ca1ab97bc Binary files /dev/null and "b/problems/images/ACM\346\250\241\345\274\217-08.png" differ diff --git "a/problems/images/ACM\346\250\241\345\274\217-09.png" "b/problems/images/ACM\346\250\241\345\274\217-09.png" new file mode 100644 index 0000000000..5652b9227a Binary files /dev/null and "b/problems/images/ACM\346\250\241\345\274\217-09.png" differ diff --git "a/problems/images/ACM\346\250\241\345\274\217\345\246\202\344\275\225\346\236\204\345\273\272\344\272\214\345\217\211\346\240\221-01.png" "b/problems/images/ACM\346\250\241\345\274\217\345\246\202\344\275\225\346\236\204\345\273\272\344\272\214\345\217\211\346\240\221-01.png" new file mode 100644 index 0000000000..eb9a9f53bc Binary files /dev/null and "b/problems/images/ACM\346\250\241\345\274\217\345\246\202\344\275\225\346\236\204\345\273\272\344\272\214\345\217\211\346\240\221-01.png" differ diff --git "a/problems/images/ACM\346\250\241\345\274\217\345\246\202\344\275\225\346\236\204\345\273\272\344\272\214\345\217\211\346\240\221-02.png" "b/problems/images/ACM\346\250\241\345\274\217\345\246\202\344\275\225\346\236\204\345\273\272\344\272\214\345\217\211\346\240\221-02.png" new file mode 100644 index 0000000000..eb9a9f53bc Binary files /dev/null and "b/problems/images/ACM\346\250\241\345\274\217\345\246\202\344\275\225\346\236\204\345\273\272\344\272\214\345\217\211\346\240\221-02.png" differ diff --git "a/problems/images/ACM\346\250\241\345\274\217\345\246\202\344\275\225\346\236\204\345\273\272\344\272\214\345\217\211\346\240\221-03.png" "b/problems/images/ACM\346\250\241\345\274\217\345\246\202\344\275\225\346\236\204\345\273\272\344\272\214\345\217\211\346\240\221-03.png" new file mode 100644 index 0000000000..15565b5c82 Binary files /dev/null and "b/problems/images/ACM\346\250\241\345\274\217\345\246\202\344\275\225\346\236\204\345\273\272\344\272\214\345\217\211\346\240\221-03.png" differ diff --git "a/problems/images/ACM\346\250\241\345\274\217\345\246\202\344\275\225\346\236\204\345\273\272\344\272\214\345\217\211\346\240\221-04.png" "b/problems/images/ACM\346\250\241\345\274\217\345\246\202\344\275\225\346\236\204\345\273\272\344\272\214\345\217\211\346\240\221-04.png" new file mode 100644 index 0000000000..cc50042dfd Binary files /dev/null and "b/problems/images/ACM\346\250\241\345\274\217\345\246\202\344\275\225\346\236\204\345\273\272\344\272\214\345\217\211\346\240\221-04.png" differ diff --git "a/problems/images/ACM\346\250\241\345\274\217\345\246\202\344\275\225\346\236\204\345\273\272\344\272\214\345\217\211\346\240\221-05.png" "b/problems/images/ACM\346\250\241\345\274\217\345\246\202\344\275\225\346\236\204\345\273\272\344\272\214\345\217\211\346\240\221-05.png" new file mode 100644 index 0000000000..eb9a9f53bc Binary files /dev/null and "b/problems/images/ACM\346\250\241\345\274\217\345\246\202\344\275\225\346\236\204\345\273\272\344\272\214\345\217\211\346\240\221-05.png" differ diff --git "a/problems/images/ACM\346\250\241\345\274\217\345\246\202\344\275\225\346\236\204\345\273\272\344\272\214\345\217\211\346\240\221-06.png" "b/problems/images/ACM\346\250\241\345\274\217\345\246\202\344\275\225\346\236\204\345\273\272\344\272\214\345\217\211\346\240\221-06.png" new file mode 100644 index 0000000000..3c940fee29 Binary files /dev/null and "b/problems/images/ACM\346\250\241\345\274\217\345\246\202\344\275\225\346\236\204\345\273\272\344\272\214\345\217\211\346\240\221-06.png" differ diff --git "a/problems/images/ACM\346\250\241\345\274\217\345\246\202\344\275\225\346\236\204\345\273\272\344\272\214\345\217\211\346\240\221-07.png" "b/problems/images/ACM\346\250\241\345\274\217\345\246\202\344\275\225\346\236\204\345\273\272\344\272\214\345\217\211\346\240\221-07.png" new file mode 100644 index 0000000000..9b29fa4b1a Binary files /dev/null and "b/problems/images/ACM\346\250\241\345\274\217\345\246\202\344\275\225\346\236\204\345\273\272\344\272\214\345\217\211\346\240\221-07.png" differ diff --git "a/problems/images/ACM\346\250\241\345\274\217\345\246\202\344\275\225\346\236\204\345\273\272\344\272\214\345\217\211\346\240\221-08.png" "b/problems/images/ACM\346\250\241\345\274\217\345\246\202\344\275\225\346\236\204\345\273\272\344\272\214\345\217\211\346\240\221-08.png" new file mode 100644 index 0000000000..256d567688 Binary files /dev/null and "b/problems/images/ACM\346\250\241\345\274\217\345\246\202\344\275\225\346\236\204\345\273\272\344\272\214\345\217\211\346\240\221-08.png" differ diff --git "a/problems/images/O(n)\347\232\204\347\256\227\346\263\225\345\261\205\347\204\266\350\266\205\346\227\266\344\272\206\357\274\214\346\255\244\346\227\266\347\232\204n\347\251\266\347\253\237\346\230\257\345\244\232\345\244\247\357\274\237-01.png" "b/problems/images/O(n)\347\232\204\347\256\227\346\263\225\345\261\205\347\204\266\350\266\205\346\227\266\344\272\206\357\274\214\346\255\244\346\227\266\347\232\204n\347\251\266\347\253\237\346\230\257\345\244\232\345\244\247\357\274\237-01.png" new file mode 100644 index 0000000000..e7474cd425 Binary files /dev/null and "b/problems/images/O(n)\347\232\204\347\256\227\346\263\225\345\261\205\347\204\266\350\266\205\346\227\266\344\272\206\357\274\214\346\255\244\346\227\266\347\232\204n\347\251\266\347\253\237\346\230\257\345\244\232\345\244\247\357\274\237-01.png" differ diff --git "a/problems/images/O(n)\347\232\204\347\256\227\346\263\225\345\261\205\347\204\266\350\266\205\346\227\266\344\272\206\357\274\214\346\255\244\346\227\266\347\232\204n\347\251\266\347\253\237\346\230\257\345\244\232\345\244\247\357\274\237-02.png" "b/problems/images/O(n)\347\232\204\347\256\227\346\263\225\345\261\205\347\204\266\350\266\205\346\227\266\344\272\206\357\274\214\346\255\244\346\227\266\347\232\204n\347\251\266\347\253\237\346\230\257\345\244\232\345\244\247\357\274\237-02.png" new file mode 100644 index 0000000000..4262e4bdb4 Binary files /dev/null and "b/problems/images/O(n)\347\232\204\347\256\227\346\263\225\345\261\205\347\204\266\350\266\205\346\227\266\344\272\206\357\274\214\346\255\244\346\227\266\347\232\204n\347\251\266\347\253\237\346\230\257\345\244\232\345\244\247\357\274\237-02.png" differ diff --git "a/problems/images/O(n)\347\232\204\347\256\227\346\263\225\345\261\205\347\204\266\350\266\205\346\227\266\344\272\206\357\274\214\346\255\244\346\227\266\347\232\204n\347\251\266\347\253\237\346\230\257\345\244\232\345\244\247\357\274\237-03.png" "b/problems/images/O(n)\347\232\204\347\256\227\346\263\225\345\261\205\347\204\266\350\266\205\346\227\266\344\272\206\357\274\214\346\255\244\346\227\266\347\232\204n\347\251\266\347\253\237\346\230\257\345\244\232\345\244\247\357\274\237-03.png" new file mode 100644 index 0000000000..5df66e0b79 Binary files /dev/null and "b/problems/images/O(n)\347\232\204\347\256\227\346\263\225\345\261\205\347\204\266\350\266\205\346\227\266\344\272\206\357\274\214\346\255\244\346\227\266\347\232\204n\347\251\266\347\253\237\346\230\257\345\244\232\345\244\247\357\274\237-03.png" differ diff --git "a/problems/images/O(n)\347\232\204\347\256\227\346\263\225\345\261\205\347\204\266\350\266\205\346\227\266\344\272\206\357\274\214\346\255\244\346\227\266\347\232\204n\347\251\266\347\253\237\346\230\257\345\244\232\345\244\247\357\274\237-04.png" "b/problems/images/O(n)\347\232\204\347\256\227\346\263\225\345\261\205\347\204\266\350\266\205\346\227\266\344\272\206\357\274\214\346\255\244\346\227\266\347\232\204n\347\251\266\347\253\237\346\230\257\345\244\232\345\244\247\357\274\237-04.png" new file mode 100644 index 0000000000..9201997997 Binary files /dev/null and "b/problems/images/O(n)\347\232\204\347\256\227\346\263\225\345\261\205\347\204\266\350\266\205\346\227\266\344\272\206\357\274\214\346\255\244\346\227\266\347\232\204n\347\251\266\347\253\237\346\230\257\345\244\232\345\244\247\357\274\237-04.png" differ diff --git "a/problems/images/O(n)\347\232\204\347\256\227\346\263\225\345\261\205\347\204\266\350\266\205\346\227\266\344\272\206\357\274\214\346\255\244\346\227\266\347\232\204n\347\251\266\347\253\237\346\230\257\345\244\232\345\244\247\357\274\237-05.png" "b/problems/images/O(n)\347\232\204\347\256\227\346\263\225\345\261\205\347\204\266\350\266\205\346\227\266\344\272\206\357\274\214\346\255\244\346\227\266\347\232\204n\347\251\266\347\253\237\346\230\257\345\244\232\345\244\247\357\274\237-05.png" new file mode 100644 index 0000000000..9de22df491 Binary files /dev/null and "b/problems/images/O(n)\347\232\204\347\256\227\346\263\225\345\261\205\347\204\266\350\266\205\346\227\266\344\272\206\357\274\214\346\255\244\346\227\266\347\232\204n\347\251\266\347\253\237\346\230\257\345\244\232\345\244\247\357\274\237-05.png" differ diff --git a/problems/images/acm-01.png b/problems/images/acm-01.png new file mode 100644 index 0000000000..66c5be5ac9 Binary files /dev/null and b/problems/images/acm-01.png differ diff --git a/problems/images/acm-02.png b/problems/images/acm-02.png new file mode 100644 index 0000000000..e838113062 Binary files /dev/null and b/problems/images/acm-02.png differ diff --git a/problems/images/acm-03.png b/problems/images/acm-03.png new file mode 100644 index 0000000000..5d80589926 Binary files /dev/null and b/problems/images/acm-03.png differ diff --git a/problems/images/acm-04.png b/problems/images/acm-04.png new file mode 100644 index 0000000000..80fcd12b65 Binary files /dev/null and b/problems/images/acm-04.png differ diff --git a/problems/images/acm-05.png b/problems/images/acm-05.png new file mode 100644 index 0000000000..2ca1ab97bc Binary files /dev/null and b/problems/images/acm-05.png differ diff --git a/problems/images/acm-06.png b/problems/images/acm-06.png new file mode 100644 index 0000000000..634bd7d61b Binary files /dev/null and b/problems/images/acm-06.png differ diff --git a/problems/images/acm-07.png b/problems/images/acm-07.png new file mode 100644 index 0000000000..273e37aac6 Binary files /dev/null and b/problems/images/acm-07.png differ diff --git a/problems/images/acm-08.png b/problems/images/acm-08.png new file mode 100644 index 0000000000..b005a4274d Binary files /dev/null and b/problems/images/acm-08.png differ diff --git a/problems/images/acm-09.png b/problems/images/acm-09.png new file mode 100644 index 0000000000..a9f838df9c Binary files /dev/null and b/problems/images/acm-09.png differ diff --git a/problems/images/acm-10.png b/problems/images/acm-10.png new file mode 100644 index 0000000000..7ee7c75d43 Binary files /dev/null and b/problems/images/acm-10.png differ diff --git a/problems/images/join-01.png b/problems/images/join-01.png new file mode 100644 index 0000000000..746b2d666b Binary files /dev/null and b/problems/images/join-01.png differ diff --git a/problems/images/join-02.png b/problems/images/join-02.png new file mode 100644 index 0000000000..65b1b04095 Binary files /dev/null and b/problems/images/join-02.png differ diff --git a/problems/images/join-03.png b/problems/images/join-03.png new file mode 100644 index 0000000000..6a7afc378e Binary files /dev/null and b/problems/images/join-03.png differ diff --git a/problems/images/join-04.png b/problems/images/join-04.png new file mode 100644 index 0000000000..db8eff38c5 Binary files /dev/null and b/problems/images/join-04.png differ diff --git a/problems/images/join-05.png b/problems/images/join-05.png new file mode 100644 index 0000000000..6d81681b81 Binary files /dev/null and b/problems/images/join-05.png differ diff --git a/problems/images/join-06.png b/problems/images/join-06.png new file mode 100644 index 0000000000..bd12a2b776 Binary files /dev/null and b/problems/images/join-06.png differ diff --git a/problems/images/join-07.png b/problems/images/join-07.png new file mode 100644 index 0000000000..54dcc2a294 Binary files /dev/null and b/problems/images/join-07.png differ diff --git a/problems/images/join-08.png b/problems/images/join-08.png new file mode 100644 index 0000000000..4e0b64df84 Binary files /dev/null and b/problems/images/join-08.png differ diff --git a/problems/images/join-09.png b/problems/images/join-09.png new file mode 100644 index 0000000000..778ac5ed2a Binary files /dev/null and b/problems/images/join-09.png differ diff --git a/problems/images/join-10.png b/problems/images/join-10.png new file mode 100644 index 0000000000..f75435265c Binary files /dev/null and b/problems/images/join-10.png differ diff --git a/problems/images/join-11.png b/problems/images/join-11.png new file mode 100644 index 0000000000..23b2048116 Binary files /dev/null and b/problems/images/join-11.png differ diff --git a/problems/images/join-12.png b/problems/images/join-12.png new file mode 100644 index 0000000000..cc35f38424 Binary files /dev/null and b/problems/images/join-12.png differ diff --git a/problems/images/join-13.png b/problems/images/join-13.png new file mode 100644 index 0000000000..3083491662 Binary files /dev/null and b/problems/images/join-13.png differ diff --git a/problems/images/join-14.png b/problems/images/join-14.png new file mode 100644 index 0000000000..3041f3193b Binary files /dev/null and b/problems/images/join-14.png differ diff --git a/problems/images/join-15.png b/problems/images/join-15.png new file mode 100644 index 0000000000..a69c5f8e9d Binary files /dev/null and b/problems/images/join-15.png differ diff --git a/problems/images/join-16.png b/problems/images/join-16.png new file mode 100644 index 0000000000..43b9f580f0 Binary files /dev/null and b/problems/images/join-16.png differ diff --git a/problems/images/join-17.png b/problems/images/join-17.png new file mode 100644 index 0000000000..b524bbba47 Binary files /dev/null and b/problems/images/join-17.png differ diff --git a/problems/images/join-18.png b/problems/images/join-18.png new file mode 100644 index 0000000000..a8da4fb945 Binary files /dev/null and b/problems/images/join-18.png differ diff --git a/problems/images/join-19.png b/problems/images/join-19.png new file mode 100644 index 0000000000..0a42af834b Binary files /dev/null and b/problems/images/join-19.png differ diff --git a/problems/images/join-20.png b/problems/images/join-20.png new file mode 100644 index 0000000000..6d5a6adbff Binary files /dev/null and b/problems/images/join-20.png differ diff --git a/problems/images/join-21.png b/problems/images/join-21.png new file mode 100644 index 0000000000..4a57c72515 Binary files /dev/null and b/problems/images/join-21.png differ diff --git a/problems/images/join-22.png b/problems/images/join-22.png new file mode 100644 index 0000000000..7ff9d3dc90 Binary files /dev/null and b/problems/images/join-22.png differ diff --git a/problems/images/join-23.png b/problems/images/join-23.png new file mode 100644 index 0000000000..4c9e9cf9bf Binary files /dev/null and b/problems/images/join-23.png differ diff --git a/problems/images/join-24.png b/problems/images/join-24.png new file mode 100644 index 0000000000..d7e2ca6db0 Binary files /dev/null and b/problems/images/join-24.png differ diff --git a/problems/images/server-01.png b/problems/images/server-01.png new file mode 100644 index 0000000000..c3a1600ecc Binary files /dev/null and b/problems/images/server-01.png differ diff --git a/problems/images/server-02.png b/problems/images/server-02.png new file mode 100644 index 0000000000..2fc6058130 Binary files /dev/null and b/problems/images/server-02.png differ diff --git a/problems/images/server-03.png b/problems/images/server-03.png new file mode 100644 index 0000000000..5d5ede1bbd Binary files /dev/null and b/problems/images/server-03.png differ diff --git a/problems/images/shejimoshi-01.png b/problems/images/shejimoshi-01.png new file mode 100644 index 0000000000..69376c6683 Binary files /dev/null and b/problems/images/shejimoshi-01.png differ diff --git a/problems/images/shejimoshi-02.png b/problems/images/shejimoshi-02.png new file mode 100644 index 0000000000..44d502b54d Binary files /dev/null and b/problems/images/shejimoshi-02.png differ diff --git a/problems/images/shejimoshi-03.png b/problems/images/shejimoshi-03.png new file mode 100644 index 0000000000..3378ecbdce Binary files /dev/null and b/problems/images/shejimoshi-03.png differ diff --git a/problems/images/shejimoshi-04.png b/problems/images/shejimoshi-04.png new file mode 100644 index 0000000000..6a6fc9681b Binary files /dev/null and b/problems/images/shejimoshi-04.png differ diff --git a/problems/images/shejimoshi-05.png b/problems/images/shejimoshi-05.png new file mode 100644 index 0000000000..efd82982e6 Binary files /dev/null and b/problems/images/shejimoshi-05.png differ diff --git a/problems/images/shejimoshi-06.png b/problems/images/shejimoshi-06.png new file mode 100644 index 0000000000..bf22c2a93e Binary files /dev/null and b/problems/images/shejimoshi-06.png differ diff --git a/problems/images/shejimoshi-07.png b/problems/images/shejimoshi-07.png new file mode 100644 index 0000000000..2074de91e6 Binary files /dev/null and b/problems/images/shejimoshi-07.png differ diff --git a/problems/images/tulunfabu-01.png b/problems/images/tulunfabu-01.png new file mode 100644 index 0000000000..5cd09bab88 Binary files /dev/null and b/problems/images/tulunfabu-01.png differ diff --git a/problems/images/tulunfabu-02.png b/problems/images/tulunfabu-02.png new file mode 100644 index 0000000000..9102836428 Binary files /dev/null and b/problems/images/tulunfabu-02.png differ diff --git a/problems/images/tulunfabu-03.png b/problems/images/tulunfabu-03.png new file mode 100644 index 0000000000..070de30711 Binary files /dev/null and b/problems/images/tulunfabu-03.png differ diff --git a/problems/images/tulunfabu-04.png b/problems/images/tulunfabu-04.png new file mode 100644 index 0000000000..55cf874114 Binary files /dev/null and b/problems/images/tulunfabu-04.png differ diff --git a/problems/images/tulunfabu-05.png b/problems/images/tulunfabu-05.png new file mode 100644 index 0000000000..6b83c2a918 Binary files /dev/null and b/problems/images/tulunfabu-05.png differ diff --git a/problems/images/tulunfabu-06.png b/problems/images/tulunfabu-06.png new file mode 100644 index 0000000000..c1e211088e Binary files /dev/null and b/problems/images/tulunfabu-06.png differ diff --git a/problems/images/tulunfabu-07.png b/problems/images/tulunfabu-07.png new file mode 100644 index 0000000000..fd09659da1 Binary files /dev/null and b/problems/images/tulunfabu-07.png differ diff --git a/problems/images/tulunfabu-08.png b/problems/images/tulunfabu-08.png new file mode 100644 index 0000000000..9804dc0e4e Binary files /dev/null and b/problems/images/tulunfabu-08.png differ diff --git a/problems/images/tulunfabu-09.png b/problems/images/tulunfabu-09.png new file mode 100644 index 0000000000..3f9ef2a1e9 Binary files /dev/null and b/problems/images/tulunfabu-09.png differ diff --git a/problems/images/tulunfabu-10.png b/problems/images/tulunfabu-10.png new file mode 100644 index 0000000000..f33a170dd0 Binary files /dev/null and b/problems/images/tulunfabu-10.png differ diff --git a/problems/images/tulunfabu-11.png b/problems/images/tulunfabu-11.png new file mode 100644 index 0000000000..669c636eae Binary files /dev/null and b/problems/images/tulunfabu-11.png differ diff --git a/problems/images/tulunfabu-12.png b/problems/images/tulunfabu-12.png new file mode 100644 index 0000000000..3d4eca6a80 Binary files /dev/null and b/problems/images/tulunfabu-12.png differ diff --git a/problems/images/tulunfabu-13.png b/problems/images/tulunfabu-13.png new file mode 100644 index 0000000000..ee923026fe Binary files /dev/null and b/problems/images/tulunfabu-13.png differ diff --git a/problems/images/tulunfabu-14.png b/problems/images/tulunfabu-14.png new file mode 100644 index 0000000000..21d10f5df3 Binary files /dev/null and b/problems/images/tulunfabu-14.png differ diff --git a/problems/images/tulunfabu-15.png b/problems/images/tulunfabu-15.png new file mode 100644 index 0000000000..55ad6cc225 Binary files /dev/null and b/problems/images/tulunfabu-15.png differ diff --git a/problems/images/tulunfabu-16.png b/problems/images/tulunfabu-16.png new file mode 100644 index 0000000000..45e92f2cae Binary files /dev/null and b/problems/images/tulunfabu-16.png differ diff --git a/problems/images/tulunfabu-17.png b/problems/images/tulunfabu-17.png new file mode 100644 index 0000000000..29e14853f1 Binary files /dev/null and b/problems/images/tulunfabu-17.png differ diff --git a/problems/images/vim-01.gif b/problems/images/vim-01.gif new file mode 100644 index 0000000000..345c025851 Binary files /dev/null and b/problems/images/vim-01.gif differ diff --git a/problems/images/vim-02.png b/problems/images/vim-02.png new file mode 100644 index 0000000000..d39f565c52 Binary files /dev/null and b/problems/images/vim-02.png differ diff --git "a/problems/images/\344\272\214\345\217\211\346\240\221\346\200\273\347\273\223\347\257\207-01.png" "b/problems/images/\344\272\214\345\217\211\346\240\221\346\200\273\347\273\223\347\257\207-01.png" new file mode 100644 index 0000000000..8b0cfc4b91 Binary files /dev/null and "b/problems/images/\344\272\214\345\217\211\346\240\221\346\200\273\347\273\223\347\257\207-01.png" differ diff --git "a/problems/images/\344\272\214\345\217\211\346\240\221\347\220\206\350\256\272\345\237\272\347\241\200-01.png" "b/problems/images/\344\272\214\345\217\211\346\240\221\347\220\206\350\256\272\345\237\272\347\241\200-01.png" new file mode 100644 index 0000000000..a030527a4b Binary files /dev/null and "b/problems/images/\344\272\214\345\217\211\346\240\221\347\220\206\350\256\272\345\237\272\347\241\200-01.png" differ diff --git "a/problems/images/\344\272\214\345\217\211\346\240\221\347\220\206\350\256\272\345\237\272\347\241\200-02.png" "b/problems/images/\344\272\214\345\217\211\346\240\221\347\220\206\350\256\272\345\237\272\347\241\200-02.png" new file mode 100644 index 0000000000..a35cc9e0d5 Binary files /dev/null and "b/problems/images/\344\272\214\345\217\211\346\240\221\347\220\206\350\256\272\345\237\272\347\241\200-02.png" differ diff --git "a/problems/images/\344\272\214\345\217\211\346\240\221\347\220\206\350\256\272\345\237\272\347\241\200-03.png" "b/problems/images/\344\272\214\345\217\211\346\240\221\347\220\206\350\256\272\345\237\272\347\241\200-03.png" new file mode 100644 index 0000000000..41c855bde7 Binary files /dev/null and "b/problems/images/\344\272\214\345\217\211\346\240\221\347\220\206\350\256\272\345\237\272\347\241\200-03.png" differ diff --git "a/problems/images/\344\272\214\345\217\211\346\240\221\347\220\206\350\256\272\345\237\272\347\241\200-04.png" "b/problems/images/\344\272\214\345\217\211\346\240\221\347\220\206\350\256\272\345\237\272\347\241\200-04.png" new file mode 100644 index 0000000000..34f3af19e5 Binary files /dev/null and "b/problems/images/\344\272\214\345\217\211\346\240\221\347\220\206\350\256\272\345\237\272\347\241\200-04.png" differ diff --git "a/problems/images/\344\272\214\345\217\211\346\240\221\347\220\206\350\256\272\345\237\272\347\241\200-05.png" "b/problems/images/\344\272\214\345\217\211\346\240\221\347\220\206\350\256\272\345\237\272\347\241\200-05.png" new file mode 100644 index 0000000000..3f4f96b491 Binary files /dev/null and "b/problems/images/\344\272\214\345\217\211\346\240\221\347\220\206\350\256\272\345\237\272\347\241\200-05.png" differ diff --git "a/problems/images/\344\272\214\345\217\211\346\240\221\347\220\206\350\256\272\345\237\272\347\241\200-06.png" "b/problems/images/\344\272\214\345\217\211\346\240\221\347\220\206\350\256\272\345\237\272\347\241\200-06.png" new file mode 100644 index 0000000000..c4f3a8d14f Binary files /dev/null and "b/problems/images/\344\272\214\345\217\211\346\240\221\347\220\206\350\256\272\345\237\272\347\241\200-06.png" differ diff --git "a/problems/images/\344\272\214\345\217\211\346\240\221\347\220\206\350\256\272\345\237\272\347\241\200-07.png" "b/problems/images/\344\272\214\345\217\211\346\240\221\347\220\206\350\256\272\345\237\272\347\241\200-07.png" new file mode 100644 index 0000000000..1e9d8915e4 Binary files /dev/null and "b/problems/images/\344\272\214\345\217\211\346\240\221\347\220\206\350\256\272\345\237\272\347\241\200-07.png" differ diff --git "a/problems/images/\344\272\214\345\217\211\346\240\221\347\220\206\350\256\272\345\237\272\347\241\200-08.png" "b/problems/images/\344\272\214\345\217\211\346\240\221\347\220\206\350\256\272\345\237\272\347\241\200-08.png" new file mode 100644 index 0000000000..ee1d1a2a3a Binary files /dev/null and "b/problems/images/\344\272\214\345\217\211\346\240\221\347\220\206\350\256\272\345\237\272\347\241\200-08.png" differ diff --git "a/problems/images/\344\272\214\345\217\211\346\240\221\347\232\204\347\273\237\344\270\200\350\277\255\344\273\243\346\263\225-01.gif" "b/problems/images/\344\272\214\345\217\211\346\240\221\347\232\204\347\273\237\344\270\200\350\277\255\344\273\243\346\263\225-01.gif" new file mode 100644 index 0000000000..33db197431 Binary files /dev/null and "b/problems/images/\344\272\214\345\217\211\346\240\221\347\232\204\347\273\237\344\270\200\350\277\255\344\273\243\346\263\225-01.gif" differ diff --git "a/problems/images/\344\272\214\345\217\211\346\240\221\347\232\204\350\277\255\344\273\243\351\201\215\345\216\206-01.gif" "b/problems/images/\344\272\214\345\217\211\346\240\221\347\232\204\350\277\255\344\273\243\351\201\215\345\216\206-01.gif" new file mode 100644 index 0000000000..78d2187b40 Binary files /dev/null and "b/problems/images/\344\272\214\345\217\211\346\240\221\347\232\204\350\277\255\344\273\243\351\201\215\345\216\206-01.gif" differ diff --git "a/problems/images/\344\272\214\345\217\211\346\240\221\347\232\204\350\277\255\344\273\243\351\201\215\345\216\206-02.gif" "b/problems/images/\344\272\214\345\217\211\346\240\221\347\232\204\350\277\255\344\273\243\351\201\215\345\216\206-02.gif" new file mode 100644 index 0000000000..ef868ec639 Binary files /dev/null and "b/problems/images/\344\272\214\345\217\211\346\240\221\347\232\204\350\277\255\344\273\243\351\201\215\345\216\206-02.gif" differ diff --git "a/problems/images/\344\272\214\345\217\211\346\240\221\347\232\204\350\277\255\344\273\243\351\201\215\345\216\206-03.png" "b/problems/images/\344\272\214\345\217\211\346\240\221\347\232\204\350\277\255\344\273\243\351\201\215\345\216\206-03.png" new file mode 100644 index 0000000000..b679720a62 Binary files /dev/null and "b/problems/images/\344\272\214\345\217\211\346\240\221\347\232\204\350\277\255\344\273\243\351\201\215\345\216\206-03.png" differ diff --git "a/problems/images/\344\273\243\347\240\201\351\243\216\346\240\274-01.png" "b/problems/images/\344\273\243\347\240\201\351\243\216\346\240\274-01.png" new file mode 100644 index 0000000000..8c500df084 Binary files /dev/null and "b/problems/images/\344\273\243\347\240\201\351\243\216\346\240\274-01.png" differ diff --git "a/problems/images/\345\206\205\345\255\230\346\266\210\350\200\227-01.png" "b/problems/images/\345\206\205\345\255\230\346\266\210\350\200\227-01.png" new file mode 100644 index 0000000000..d8f358e593 Binary files /dev/null and "b/problems/images/\345\206\205\345\255\230\346\266\210\350\200\227-01.png" differ diff --git "a/problems/images/\345\206\205\345\255\230\346\266\210\350\200\227-02.png" "b/problems/images/\345\206\205\345\255\230\346\266\210\350\200\227-02.png" new file mode 100644 index 0000000000..f893c7085a Binary files /dev/null and "b/problems/images/\345\206\205\345\255\230\346\266\210\350\200\227-02.png" differ diff --git "a/problems/images/\345\206\205\345\255\230\346\266\210\350\200\227-03.png" "b/problems/images/\345\206\205\345\255\230\346\266\210\350\200\227-03.png" new file mode 100644 index 0000000000..7c1d295cd3 Binary files /dev/null and "b/problems/images/\345\206\205\345\255\230\346\266\210\350\200\227-03.png" differ diff --git "a/problems/images/\345\206\205\345\255\230\346\266\210\350\200\227-04.png" "b/problems/images/\345\206\205\345\255\230\346\266\210\350\200\227-04.png" new file mode 100644 index 0000000000..2a249f1ede Binary files /dev/null and "b/problems/images/\345\206\205\345\255\230\346\266\210\350\200\227-04.png" differ diff --git "a/problems/images/\345\211\221\346\214\207Offer05.\346\233\277\346\215\242\347\251\272\346\240\274-01.png" "b/problems/images/\345\211\221\346\214\207Offer05.\346\233\277\346\215\242\347\251\272\346\240\274-01.png" new file mode 100644 index 0000000000..43a96ba5af Binary files /dev/null and "b/problems/images/\345\211\221\346\214\207Offer05.\346\233\277\346\215\242\347\251\272\346\240\274-01.png" differ diff --git "a/problems/images/\345\211\221\346\214\207Offer05.\346\233\277\346\215\242\347\251\272\346\240\274-02.png" "b/problems/images/\345\211\221\346\214\207Offer05.\346\233\277\346\215\242\347\251\272\346\240\274-02.png" new file mode 100644 index 0000000000..ca43ef47dc Binary files /dev/null and "b/problems/images/\345\211\221\346\214\207Offer05.\346\233\277\346\215\242\347\251\272\346\240\274-02.png" differ diff --git "a/problems/images/\345\211\221\346\214\207Offer58-II.\345\267\246\346\227\213\350\275\254\345\255\227\347\254\246\344\270\262-01.png" "b/problems/images/\345\211\221\346\214\207Offer58-II.\345\267\246\346\227\213\350\275\254\345\255\227\347\254\246\344\270\262-01.png" new file mode 100644 index 0000000000..bb79cd1873 Binary files /dev/null and "b/problems/images/\345\211\221\346\214\207Offer58-II.\345\267\246\346\227\213\350\275\254\345\255\227\347\254\246\344\270\262-01.png" differ diff --git "a/problems/images/\345\211\221\346\214\207Offer58-II.\345\267\246\346\227\213\350\275\254\345\255\227\347\254\246\344\270\262-02.png" "b/problems/images/\345\211\221\346\214\207Offer58-II.\345\267\246\346\227\213\350\275\254\345\255\227\347\254\246\344\270\262-02.png" new file mode 100644 index 0000000000..b48b1caaeb Binary files /dev/null and "b/problems/images/\345\211\221\346\214\207Offer58-II.\345\267\246\346\227\213\350\275\254\345\255\227\347\254\246\344\270\262-02.png" differ diff --git "a/problems/images/\345\211\221\346\214\207Offer58-II.\345\267\246\346\227\213\350\275\254\345\255\227\347\254\246\344\270\262-03.png" "b/problems/images/\345\211\221\346\214\207Offer58-II.\345\267\246\346\227\213\350\275\254\345\255\227\347\254\246\344\270\262-03.png" new file mode 100644 index 0000000000..eaf7bf627a Binary files /dev/null and "b/problems/images/\345\211\221\346\214\207Offer58-II.\345\267\246\346\227\213\350\275\254\345\255\227\347\254\246\344\270\262-03.png" differ diff --git "a/problems/images/\345\211\221\346\214\207Offer58-II.\345\267\246\346\227\213\350\275\254\345\255\227\347\254\246\344\270\262-04.png" "b/problems/images/\345\211\221\346\214\207Offer58-II.\345\267\246\346\227\213\350\275\254\345\255\227\347\254\246\344\270\262-04.png" new file mode 100644 index 0000000000..23d234b829 Binary files /dev/null and "b/problems/images/\345\211\221\346\214\207Offer58-II.\345\267\246\346\227\213\350\275\254\345\255\227\347\254\246\344\270\262-04.png" differ diff --git "a/problems/images/\345\212\250\346\200\201\350\247\204\345\210\222-\350\202\241\347\245\250\351\227\256\351\242\230\346\200\273\347\273\223\347\257\207-01.jpg" "b/problems/images/\345\212\250\346\200\201\350\247\204\345\210\222-\350\202\241\347\245\250\351\227\256\351\242\230\346\200\273\347\273\223\347\257\207-01.jpg" new file mode 100644 index 0000000000..7770dc2d26 Binary files /dev/null and "b/problems/images/\345\212\250\346\200\201\350\247\204\345\210\222-\350\202\241\347\245\250\351\227\256\351\242\230\346\200\273\347\273\223\347\257\207-01.jpg" differ diff --git "a/problems/images/\345\212\250\346\200\201\350\247\204\345\210\222\346\200\273\347\273\223\347\257\207-01.png" "b/problems/images/\345\212\250\346\200\201\350\247\204\345\210\222\346\200\273\347\273\223\347\257\207-01.png" new file mode 100644 index 0000000000..9c38c00342 Binary files /dev/null and "b/problems/images/\345\212\250\346\200\201\350\247\204\345\210\222\346\200\273\347\273\223\347\257\207-01.png" differ diff --git "a/problems/images/\345\212\250\346\200\201\350\247\204\345\210\222\346\200\273\347\273\223\347\257\207-02.jpg" "b/problems/images/\345\212\250\346\200\201\350\247\204\345\210\222\346\200\273\347\273\223\347\257\207-02.jpg" new file mode 100644 index 0000000000..7770dc2d26 Binary files /dev/null and "b/problems/images/\345\212\250\346\200\201\350\247\204\345\210\222\346\200\273\347\273\223\347\257\207-02.jpg" differ diff --git "a/problems/images/\345\212\250\346\200\201\350\247\204\345\210\222\346\200\273\347\273\223\347\257\207-03.jpg" "b/problems/images/\345\212\250\346\200\201\350\247\204\345\210\222\346\200\273\347\273\223\347\257\207-03.jpg" new file mode 100644 index 0000000000..5651b56237 Binary files /dev/null and "b/problems/images/\345\212\250\346\200\201\350\247\204\345\210\222\346\200\273\347\273\223\347\257\207-03.jpg" differ diff --git "a/problems/images/\345\212\250\346\200\201\350\247\204\345\210\222\347\220\206\350\256\272\345\237\272\347\241\200-01.jpg" "b/problems/images/\345\212\250\346\200\201\350\247\204\345\210\222\347\220\206\350\256\272\345\237\272\347\241\200-01.jpg" new file mode 100644 index 0000000000..69796663e0 Binary files /dev/null and "b/problems/images/\345\212\250\346\200\201\350\247\204\345\210\222\347\220\206\350\256\272\345\237\272\347\241\200-01.jpg" differ diff --git "a/problems/images/\345\223\210\345\270\214\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200-01.png" "b/problems/images/\345\223\210\345\270\214\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200-01.png" new file mode 100644 index 0000000000..8daf925b42 Binary files /dev/null and "b/problems/images/\345\223\210\345\270\214\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200-01.png" differ diff --git "a/problems/images/\345\223\210\345\270\214\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200-02.png" "b/problems/images/\345\223\210\345\270\214\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200-02.png" new file mode 100644 index 0000000000..1151370f4e Binary files /dev/null and "b/problems/images/\345\223\210\345\270\214\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200-02.png" differ diff --git "a/problems/images/\345\223\210\345\270\214\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200-03.png" "b/problems/images/\345\223\210\345\270\214\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200-03.png" new file mode 100644 index 0000000000..844c5df7a5 Binary files /dev/null and "b/problems/images/\345\223\210\345\270\214\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200-03.png" differ diff --git "a/problems/images/\345\223\210\345\270\214\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200-04.png" "b/problems/images/\345\223\210\345\270\214\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200-04.png" new file mode 100644 index 0000000000..1eb0c1a416 Binary files /dev/null and "b/problems/images/\345\223\210\345\270\214\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200-04.png" differ diff --git "a/problems/images/\345\223\210\345\270\214\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200-05.png" "b/problems/images/\345\223\210\345\270\214\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200-05.png" new file mode 100644 index 0000000000..c71d042294 Binary files /dev/null and "b/problems/images/\345\223\210\345\270\214\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200-05.png" differ diff --git "a/problems/images/\345\223\210\345\270\214\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200-06.png" "b/problems/images/\345\223\210\345\270\214\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200-06.png" new file mode 100644 index 0000000000..16f11b87d5 Binary files /dev/null and "b/problems/images/\345\223\210\345\270\214\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200-06.png" differ diff --git "a/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-01.png" "b/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-01.png" new file mode 100644 index 0000000000..a6a4a27217 Binary files /dev/null and "b/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-01.png" differ diff --git "a/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-02.png" "b/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-02.png" new file mode 100644 index 0000000000..b2519ccde3 Binary files /dev/null and "b/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-02.png" differ diff --git "a/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-03.png" "b/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-03.png" new file mode 100644 index 0000000000..1b71e67c06 Binary files /dev/null and "b/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-03.png" differ diff --git "a/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-04.png" "b/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-04.png" new file mode 100644 index 0000000000..e495191df1 Binary files /dev/null and "b/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-04.png" differ diff --git "a/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-05.png" "b/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-05.png" new file mode 100644 index 0000000000..95430a665d Binary files /dev/null and "b/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-05.png" differ diff --git "a/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-06.png" "b/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-06.png" new file mode 100644 index 0000000000..d3557efc6b Binary files /dev/null and "b/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-06.png" differ diff --git "a/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-07.png" "b/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-07.png" new file mode 100644 index 0000000000..75fda6b366 Binary files /dev/null and "b/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-07.png" differ diff --git "a/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-08.png" "b/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-08.png" new file mode 100644 index 0000000000..b11f7114f5 Binary files /dev/null and "b/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-08.png" differ diff --git "a/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-09.png" "b/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-09.png" new file mode 100644 index 0000000000..0b50823f86 Binary files /dev/null and "b/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-09.png" differ diff --git "a/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-10.png" "b/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-10.png" new file mode 100644 index 0000000000..1700030fcf Binary files /dev/null and "b/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-10.png" differ diff --git "a/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-11.png" "b/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-11.png" new file mode 100644 index 0000000000..e3fcc9b3d8 Binary files /dev/null and "b/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-11.png" differ diff --git "a/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-12.png" "b/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-12.png" new file mode 100644 index 0000000000..8349b9fbdd Binary files /dev/null and "b/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-12.png" differ diff --git "a/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-13.png" "b/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-13.png" new file mode 100644 index 0000000000..f7f8747815 Binary files /dev/null and "b/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-13.png" differ diff --git "a/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-14.png" "b/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-14.png" new file mode 100644 index 0000000000..3ea4834a4e Binary files /dev/null and "b/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-14.png" differ diff --git "a/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-15.png" "b/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-15.png" new file mode 100644 index 0000000000..db827bdb80 Binary files /dev/null and "b/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-15.png" differ diff --git "a/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-16.png" "b/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-16.png" new file mode 100644 index 0000000000..8f6856782f Binary files /dev/null and "b/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-16.png" differ diff --git "a/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-17.png" "b/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-17.png" new file mode 100644 index 0000000000..28c1651959 Binary files /dev/null and "b/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-17.png" differ diff --git "a/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-18.png" "b/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-18.png" new file mode 100644 index 0000000000..edbb240bf9 Binary files /dev/null and "b/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-18.png" differ diff --git "a/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-19.png" "b/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-19.png" new file mode 100644 index 0000000000..975db23d1c Binary files /dev/null and "b/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-19.png" differ diff --git "a/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-20.png" "b/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-20.png" new file mode 100644 index 0000000000..416f7f252c Binary files /dev/null and "b/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-20.png" differ diff --git "a/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-21.png" "b/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-21.png" new file mode 100644 index 0000000000..42065e0a87 Binary files /dev/null and "b/problems/images/\345\233\236\346\272\257\346\200\273\347\273\223-21.png" differ diff --git "a/problems/images/\345\233\236\346\272\257\347\256\227\346\263\225\345\216\273\351\207\215\351\227\256\351\242\230\347\232\204\345\217\246\344\270\200\347\247\215\345\206\231\346\263\225-01.png" "b/problems/images/\345\233\236\346\272\257\347\256\227\346\263\225\345\216\273\351\207\215\351\227\256\351\242\230\347\232\204\345\217\246\344\270\200\347\247\215\345\206\231\346\263\225-01.png" new file mode 100644 index 0000000000..f7f8747815 Binary files /dev/null and "b/problems/images/\345\233\236\346\272\257\347\256\227\346\263\225\345\216\273\351\207\215\351\227\256\351\242\230\347\232\204\345\217\246\344\270\200\347\247\215\345\206\231\346\263\225-01.png" differ diff --git "a/problems/images/\345\233\236\346\272\257\347\256\227\346\263\225\345\216\273\351\207\215\351\227\256\351\242\230\347\232\204\345\217\246\344\270\200\347\247\215\345\206\231\346\263\225-02.png" "b/problems/images/\345\233\236\346\272\257\347\256\227\346\263\225\345\216\273\351\207\215\351\227\256\351\242\230\347\232\204\345\217\246\344\270\200\347\247\215\345\206\231\346\263\225-02.png" new file mode 100644 index 0000000000..ac2d997527 Binary files /dev/null and "b/problems/images/\345\233\236\346\272\257\347\256\227\346\263\225\345\216\273\351\207\215\351\227\256\351\242\230\347\232\204\345\217\246\344\270\200\347\247\215\345\206\231\346\263\225-02.png" differ diff --git "a/problems/images/\345\233\236\346\272\257\347\256\227\346\263\225\347\220\206\350\256\272\345\237\272\347\241\200-01.png" "b/problems/images/\345\233\236\346\272\257\347\256\227\346\263\225\347\220\206\350\256\272\345\237\272\347\241\200-01.png" new file mode 100644 index 0000000000..9276e5b270 Binary files /dev/null and "b/problems/images/\345\233\236\346\272\257\347\256\227\346\263\225\347\220\206\350\256\272\345\237\272\347\241\200-01.png" differ diff --git "a/problems/images/\345\233\236\346\272\257\347\256\227\346\263\225\347\220\206\350\256\272\345\237\272\347\241\200-02.png" "b/problems/images/\345\233\236\346\272\257\347\256\227\346\263\225\347\220\206\350\256\272\345\237\272\347\241\200-02.png" new file mode 100644 index 0000000000..f8f2eb2f97 Binary files /dev/null and "b/problems/images/\345\233\236\346\272\257\347\256\227\346\263\225\347\220\206\350\256\272\345\237\272\347\241\200-02.png" differ diff --git "a/problems/images/\345\233\276\350\256\272\345\271\266\346\237\245\351\233\206\347\220\206\350\256\272\345\237\272\347\241\200-01.png" "b/problems/images/\345\233\276\350\256\272\345\271\266\346\237\245\351\233\206\347\220\206\350\256\272\345\237\272\347\241\200-01.png" new file mode 100644 index 0000000000..88e91ddef3 Binary files /dev/null and "b/problems/images/\345\233\276\350\256\272\345\271\266\346\237\245\351\233\206\347\220\206\350\256\272\345\237\272\347\241\200-01.png" differ diff --git "a/problems/images/\345\233\276\350\256\272\345\271\266\346\237\245\351\233\206\347\220\206\350\256\272\345\237\272\347\241\200-02.png" "b/problems/images/\345\233\276\350\256\272\345\271\266\346\237\245\351\233\206\347\220\206\350\256\272\345\237\272\347\241\200-02.png" new file mode 100644 index 0000000000..41c47b447f Binary files /dev/null and "b/problems/images/\345\233\276\350\256\272\345\271\266\346\237\245\351\233\206\347\220\206\350\256\272\345\237\272\347\241\200-02.png" differ diff --git "a/problems/images/\345\233\276\350\256\272\345\271\266\346\237\245\351\233\206\347\220\206\350\256\272\345\237\272\347\241\200-03.png" "b/problems/images/\345\233\276\350\256\272\345\271\266\346\237\245\351\233\206\347\220\206\350\256\272\345\237\272\347\241\200-03.png" new file mode 100644 index 0000000000..4eb03a5ae1 Binary files /dev/null and "b/problems/images/\345\233\276\350\256\272\345\271\266\346\237\245\351\233\206\347\220\206\350\256\272\345\237\272\347\241\200-03.png" differ diff --git "a/problems/images/\345\233\276\350\256\272\345\271\266\346\237\245\351\233\206\347\220\206\350\256\272\345\237\272\347\241\200-04.png" "b/problems/images/\345\233\276\350\256\272\345\271\266\346\237\245\351\233\206\347\220\206\350\256\272\345\237\272\347\241\200-04.png" new file mode 100644 index 0000000000..26d7acce4a Binary files /dev/null and "b/problems/images/\345\233\276\350\256\272\345\271\266\346\237\245\351\233\206\347\220\206\350\256\272\345\237\272\347\241\200-04.png" differ diff --git "a/problems/images/\345\233\276\350\256\272\345\271\266\346\237\245\351\233\206\347\220\206\350\256\272\345\237\272\347\241\200-05.png" "b/problems/images/\345\233\276\350\256\272\345\271\266\346\237\245\351\233\206\347\220\206\350\256\272\345\237\272\347\241\200-05.png" new file mode 100644 index 0000000000..bee183773b Binary files /dev/null and "b/problems/images/\345\233\276\350\256\272\345\271\266\346\237\245\351\233\206\347\220\206\350\256\272\345\237\272\347\241\200-05.png" differ diff --git "a/problems/images/\345\233\276\350\256\272\345\271\266\346\237\245\351\233\206\347\220\206\350\256\272\345\237\272\347\241\200-06.png" "b/problems/images/\345\233\276\350\256\272\345\271\266\346\237\245\351\233\206\347\220\206\350\256\272\345\237\272\347\241\200-06.png" new file mode 100644 index 0000000000..43cdff2330 Binary files /dev/null and "b/problems/images/\345\233\276\350\256\272\345\271\266\346\237\245\351\233\206\347\220\206\350\256\272\345\237\272\347\241\200-06.png" differ diff --git "a/problems/images/\345\233\276\350\256\272\345\271\266\346\237\245\351\233\206\347\220\206\350\256\272\345\237\272\347\241\200-07.png" "b/problems/images/\345\233\276\350\256\272\345\271\266\346\237\245\351\233\206\347\220\206\350\256\272\345\237\272\347\241\200-07.png" new file mode 100644 index 0000000000..58a6425487 Binary files /dev/null and "b/problems/images/\345\233\276\350\256\272\345\271\266\346\237\245\351\233\206\347\220\206\350\256\272\345\237\272\347\241\200-07.png" differ diff --git "a/problems/images/\345\233\276\350\256\272\345\271\266\346\237\245\351\233\206\347\220\206\350\256\272\345\237\272\347\241\200-08.png" "b/problems/images/\345\233\276\350\256\272\345\271\266\346\237\245\351\233\206\347\220\206\350\256\272\345\237\272\347\241\200-08.png" new file mode 100644 index 0000000000..182369473b Binary files /dev/null and "b/problems/images/\345\233\276\350\256\272\345\271\266\346\237\245\351\233\206\347\220\206\350\256\272\345\237\272\347\241\200-08.png" differ diff --git "a/problems/images/\345\233\276\350\256\272\345\271\266\346\237\245\351\233\206\347\220\206\350\256\272\345\237\272\347\241\200-09.png" "b/problems/images/\345\233\276\350\256\272\345\271\266\346\237\245\351\233\206\347\220\206\350\256\272\345\237\272\347\241\200-09.png" new file mode 100644 index 0000000000..3e1c1e5e9f Binary files /dev/null and "b/problems/images/\345\233\276\350\256\272\345\271\266\346\237\245\351\233\206\347\220\206\350\256\272\345\237\272\347\241\200-09.png" differ diff --git "a/problems/images/\345\233\276\350\256\272\345\271\266\346\237\245\351\233\206\347\220\206\350\256\272\345\237\272\347\241\200-10.png" "b/problems/images/\345\233\276\350\256\272\345\271\266\346\237\245\351\233\206\347\220\206\350\256\272\345\237\272\347\241\200-10.png" new file mode 100644 index 0000000000..00ac319e2e Binary files /dev/null and "b/problems/images/\345\233\276\350\256\272\345\271\266\346\237\245\351\233\206\347\220\206\350\256\272\345\237\272\347\241\200-10.png" differ diff --git "a/problems/images/\345\233\276\350\256\272\345\271\266\346\237\245\351\233\206\347\220\206\350\256\272\345\237\272\347\241\200-11.png" "b/problems/images/\345\233\276\350\256\272\345\271\266\346\237\245\351\233\206\347\220\206\350\256\272\345\237\272\347\241\200-11.png" new file mode 100644 index 0000000000..e37572e0d7 Binary files /dev/null and "b/problems/images/\345\233\276\350\256\272\345\271\266\346\237\245\351\233\206\347\220\206\350\256\272\345\237\272\347\241\200-11.png" differ diff --git "a/problems/images/\345\233\276\350\256\272\345\271\266\346\237\245\351\233\206\347\220\206\350\256\272\345\237\272\347\241\200-12.png" "b/problems/images/\345\233\276\350\256\272\345\271\266\346\237\245\351\233\206\347\220\206\350\256\272\345\237\272\347\241\200-12.png" new file mode 100644 index 0000000000..a87dcc28ed Binary files /dev/null and "b/problems/images/\345\233\276\350\256\272\345\271\266\346\237\245\351\233\206\347\220\206\350\256\272\345\237\272\347\241\200-12.png" differ diff --git "a/problems/images/\345\233\276\350\256\272\345\271\277\346\220\234\347\220\206\350\256\272\345\237\272\347\241\200-01.png" "b/problems/images/\345\233\276\350\256\272\345\271\277\346\220\234\347\220\206\350\256\272\345\237\272\347\241\200-01.png" new file mode 100644 index 0000000000..5038c5de72 Binary files /dev/null and "b/problems/images/\345\233\276\350\256\272\345\271\277\346\220\234\347\220\206\350\256\272\345\237\272\347\241\200-01.png" differ diff --git "a/problems/images/\345\233\276\350\256\272\345\271\277\346\220\234\347\220\206\350\256\272\345\237\272\347\241\200-02.png" "b/problems/images/\345\233\276\350\256\272\345\271\277\346\220\234\347\220\206\350\256\272\345\237\272\347\241\200-02.png" new file mode 100644 index 0000000000..d2d4ab8436 Binary files /dev/null and "b/problems/images/\345\233\276\350\256\272\345\271\277\346\220\234\347\220\206\350\256\272\345\237\272\347\241\200-02.png" differ diff --git "a/problems/images/\345\233\276\350\256\272\345\271\277\346\220\234\347\220\206\350\256\272\345\237\272\347\241\200-03.png" "b/problems/images/\345\233\276\350\256\272\345\271\277\346\220\234\347\220\206\350\256\272\345\237\272\347\241\200-03.png" new file mode 100644 index 0000000000..60de2d9ee2 Binary files /dev/null and "b/problems/images/\345\233\276\350\256\272\345\271\277\346\220\234\347\220\206\350\256\272\345\237\272\347\241\200-03.png" differ diff --git "a/problems/images/\345\233\276\350\256\272\346\267\261\346\220\234\347\220\206\350\256\272\345\237\272\347\241\200-01.png" "b/problems/images/\345\233\276\350\256\272\346\267\261\346\220\234\347\220\206\350\256\272\345\237\272\347\241\200-01.png" new file mode 100644 index 0000000000..21657978c2 Binary files /dev/null and "b/problems/images/\345\233\276\350\256\272\346\267\261\346\220\234\347\220\206\350\256\272\345\237\272\347\241\200-01.png" differ diff --git "a/problems/images/\345\233\276\350\256\272\346\267\261\346\220\234\347\220\206\350\256\272\345\237\272\347\241\200-02.png" "b/problems/images/\345\233\276\350\256\272\346\267\261\346\220\234\347\220\206\350\256\272\345\237\272\347\241\200-02.png" new file mode 100644 index 0000000000..925fc9aad7 Binary files /dev/null and "b/problems/images/\345\233\276\350\256\272\346\267\261\346\220\234\347\220\206\350\256\272\345\237\272\347\241\200-02.png" differ diff --git "a/problems/images/\345\233\276\350\256\272\346\267\261\346\220\234\347\220\206\350\256\272\345\237\272\347\241\200-03.png" "b/problems/images/\345\233\276\350\256\272\346\267\261\346\220\234\347\220\206\350\256\272\345\237\272\347\241\200-03.png" new file mode 100644 index 0000000000..7b88cf7d25 Binary files /dev/null and "b/problems/images/\345\233\276\350\256\272\346\267\261\346\220\234\347\220\206\350\256\272\345\237\272\347\241\200-03.png" differ diff --git "a/problems/images/\345\233\276\350\256\272\346\267\261\346\220\234\347\220\206\350\256\272\345\237\272\347\241\200-04.png" "b/problems/images/\345\233\276\350\256\272\346\267\261\346\220\234\347\220\206\350\256\272\345\237\272\347\241\200-04.png" new file mode 100644 index 0000000000..c681a50786 Binary files /dev/null and "b/problems/images/\345\233\276\350\256\272\346\267\261\346\220\234\347\220\206\350\256\272\345\237\272\347\241\200-04.png" differ diff --git "a/problems/images/\345\233\276\350\256\272\346\267\261\346\220\234\347\220\206\350\256\272\345\237\272\347\241\200-05.png" "b/problems/images/\345\233\276\350\256\272\346\267\261\346\220\234\347\220\206\350\256\272\345\237\272\347\241\200-05.png" new file mode 100644 index 0000000000..24b75f5580 Binary files /dev/null and "b/problems/images/\345\233\276\350\256\272\346\267\261\346\220\234\347\220\206\350\256\272\345\237\272\347\241\200-05.png" differ diff --git "a/problems/images/\345\233\276\350\256\272\346\267\261\346\220\234\347\220\206\350\256\272\345\237\272\347\241\200-06.png" "b/problems/images/\345\233\276\350\256\272\346\267\261\346\220\234\347\220\206\350\256\272\345\237\272\347\241\200-06.png" new file mode 100644 index 0000000000..390b31c36f Binary files /dev/null and "b/problems/images/\345\233\276\350\256\272\346\267\261\346\220\234\347\220\206\350\256\272\345\237\272\347\241\200-06.png" differ diff --git "a/problems/images/\345\233\276\350\256\272\346\267\261\346\220\234\347\220\206\350\256\272\345\237\272\347\241\200-07.png" "b/problems/images/\345\233\276\350\256\272\346\267\261\346\220\234\347\220\206\350\256\272\345\237\272\347\241\200-07.png" new file mode 100644 index 0000000000..3b97cdd615 Binary files /dev/null and "b/problems/images/\345\233\276\350\256\272\346\267\261\346\220\234\347\220\206\350\256\272\345\237\272\347\241\200-07.png" differ diff --git "a/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-01.png" "b/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-01.png" new file mode 100644 index 0000000000..83a5138d39 Binary files /dev/null and "b/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-01.png" differ diff --git "a/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-02.png" "b/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-02.png" new file mode 100644 index 0000000000..de5b909215 Binary files /dev/null and "b/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-02.png" differ diff --git "a/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-03.png" "b/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-03.png" new file mode 100644 index 0000000000..010edecda9 Binary files /dev/null and "b/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-03.png" differ diff --git "a/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-04.png" "b/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-04.png" new file mode 100644 index 0000000000..97c0cd36c6 Binary files /dev/null and "b/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-04.png" differ diff --git "a/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-05.png" "b/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-05.png" new file mode 100644 index 0000000000..0c55722cb5 Binary files /dev/null and "b/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-05.png" differ diff --git "a/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-06.png" "b/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-06.png" new file mode 100644 index 0000000000..9a906cdb8e Binary files /dev/null and "b/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-06.png" differ diff --git "a/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-07.png" "b/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-07.png" new file mode 100644 index 0000000000..86a24d68cf Binary files /dev/null and "b/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-07.png" differ diff --git "a/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-08.png" "b/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-08.png" new file mode 100644 index 0000000000..58aedb5c98 Binary files /dev/null and "b/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-08.png" differ diff --git "a/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-09.png" "b/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-09.png" new file mode 100644 index 0000000000..3e07c2205f Binary files /dev/null and "b/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-09.png" differ diff --git "a/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-10.png" "b/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-10.png" new file mode 100644 index 0000000000..f1d285e00c Binary files /dev/null and "b/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-10.png" differ diff --git "a/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-11.png" "b/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-11.png" new file mode 100644 index 0000000000..f1c680d1df Binary files /dev/null and "b/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-11.png" differ diff --git "a/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-12.png" "b/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-12.png" new file mode 100644 index 0000000000..f1c680d1df Binary files /dev/null and "b/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-12.png" differ diff --git "a/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-13.png" "b/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-13.png" new file mode 100644 index 0000000000..907ac3c54a Binary files /dev/null and "b/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-13.png" differ diff --git "a/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-14.png" "b/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-14.png" new file mode 100644 index 0000000000..a6d0e64d3c Binary files /dev/null and "b/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-14.png" differ diff --git "a/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-15.png" "b/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-15.png" new file mode 100644 index 0000000000..de82659910 Binary files /dev/null and "b/problems/images/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200-15.png" differ diff --git "a/problems/images/\346\225\260\347\273\204\346\200\273\347\273\223\347\257\207-01.png" "b/problems/images/\346\225\260\347\273\204\346\200\273\347\273\223\347\257\207-01.png" new file mode 100644 index 0000000000..737b3629df Binary files /dev/null and "b/problems/images/\346\225\260\347\273\204\346\200\273\347\273\223\347\257\207-01.png" differ diff --git "a/problems/images/\346\225\260\347\273\204\346\200\273\347\273\223\347\257\207-02.png" "b/problems/images/\346\225\260\347\273\204\346\200\273\347\273\223\347\257\207-02.png" new file mode 100644 index 0000000000..0638c92782 Binary files /dev/null and "b/problems/images/\346\225\260\347\273\204\346\200\273\347\273\223\347\257\207-02.png" differ diff --git "a/problems/images/\346\225\260\347\273\204\346\200\273\347\273\223\347\257\207-03.png" "b/problems/images/\346\225\260\347\273\204\346\200\273\347\273\223\347\257\207-03.png" new file mode 100644 index 0000000000..e7a655e123 Binary files /dev/null and "b/problems/images/\346\225\260\347\273\204\346\200\273\347\273\223\347\257\207-03.png" differ diff --git "a/problems/images/\346\225\260\347\273\204\346\200\273\347\273\223\347\257\207-04.png" "b/problems/images/\346\225\260\347\273\204\346\200\273\347\273\223\347\257\207-04.png" new file mode 100644 index 0000000000..fbaa862fae Binary files /dev/null and "b/problems/images/\346\225\260\347\273\204\346\200\273\347\273\223\347\257\207-04.png" differ diff --git "a/problems/images/\346\225\260\347\273\204\346\200\273\347\273\223\347\257\207-05.png" "b/problems/images/\346\225\260\347\273\204\346\200\273\347\273\223\347\257\207-05.png" new file mode 100644 index 0000000000..00a070f2cc Binary files /dev/null and "b/problems/images/\346\225\260\347\273\204\346\200\273\347\273\223\347\257\207-05.png" differ diff --git "a/problems/images/\346\225\260\347\273\204\347\220\206\350\256\272\345\237\272\347\241\200-01.png" "b/problems/images/\346\225\260\347\273\204\347\220\206\350\256\272\345\237\272\347\241\200-01.png" new file mode 100644 index 0000000000..737b3629df Binary files /dev/null and "b/problems/images/\346\225\260\347\273\204\347\220\206\350\256\272\345\237\272\347\241\200-01.png" differ diff --git "a/problems/images/\346\225\260\347\273\204\347\220\206\350\256\272\345\237\272\347\241\200-02.png" "b/problems/images/\346\225\260\347\273\204\347\220\206\350\256\272\345\237\272\347\241\200-02.png" new file mode 100644 index 0000000000..0638c92782 Binary files /dev/null and "b/problems/images/\346\225\260\347\273\204\347\220\206\350\256\272\345\237\272\347\241\200-02.png" differ diff --git "a/problems/images/\346\225\260\347\273\204\347\220\206\350\256\272\345\237\272\347\241\200-03.png" "b/problems/images/\346\225\260\347\273\204\347\220\206\350\256\272\345\237\272\347\241\200-03.png" new file mode 100644 index 0000000000..5e2c922ede Binary files /dev/null and "b/problems/images/\346\225\260\347\273\204\347\220\206\350\256\272\345\237\272\347\241\200-03.png" differ diff --git "a/problems/images/\346\225\260\347\273\204\347\220\206\350\256\272\345\237\272\347\241\200-04.png" "b/problems/images/\346\225\260\347\273\204\347\220\206\350\256\272\345\237\272\347\241\200-04.png" new file mode 100644 index 0000000000..1122c9962a Binary files /dev/null and "b/problems/images/\346\225\260\347\273\204\347\220\206\350\256\272\345\237\272\347\241\200-04.png" differ diff --git "a/problems/images/\346\225\260\347\273\204\347\220\206\350\256\272\345\237\272\347\241\200-05.png" "b/problems/images/\346\225\260\347\273\204\347\220\206\350\256\272\345\237\272\347\241\200-05.png" new file mode 100644 index 0000000000..fbaa862fae Binary files /dev/null and "b/problems/images/\346\225\260\347\273\204\347\220\206\350\256\272\345\237\272\347\241\200-05.png" differ diff --git "a/problems/images/\346\227\266\351\227\264\345\244\215\346\235\202\345\272\246-01.png" "b/problems/images/\346\227\266\351\227\264\345\244\215\346\235\202\345\272\246-01.png" new file mode 100644 index 0000000000..779544698f Binary files /dev/null and "b/problems/images/\346\227\266\351\227\264\345\244\215\346\235\202\345\272\246-01.png" differ diff --git "a/problems/images/\346\227\266\351\227\264\345\244\215\346\235\202\345\272\246-02.png" "b/problems/images/\346\227\266\351\227\264\345\244\215\346\235\202\345\272\246-02.png" new file mode 100644 index 0000000000..40983f88c0 Binary files /dev/null and "b/problems/images/\346\227\266\351\227\264\345\244\215\346\235\202\345\272\246-02.png" differ diff --git "a/problems/images/\346\227\266\351\227\264\345\244\215\346\235\202\345\272\246-03.png" "b/problems/images/\346\227\266\351\227\264\345\244\215\346\235\202\345\272\246-03.png" new file mode 100644 index 0000000000..dacee4be16 Binary files /dev/null and "b/problems/images/\346\227\266\351\227\264\345\244\215\346\235\202\345\272\246-03.png" differ diff --git "a/problems/images/\346\234\200\347\237\255\350\267\257\351\227\256\351\242\230\346\200\273\347\273\223\347\257\207-01.png" "b/problems/images/\346\234\200\347\237\255\350\267\257\351\227\256\351\242\230\346\200\273\347\273\223\347\257\207-01.png" new file mode 100644 index 0000000000..7b0e03cbbc Binary files /dev/null and "b/problems/images/\346\234\200\347\237\255\350\267\257\351\227\256\351\242\230\346\200\273\347\273\223\347\257\207-01.png" differ diff --git "a/problems/images/\346\240\210\344\270\216\351\230\237\345\210\227\347\220\206\350\256\272\345\237\272\347\241\200-01.png" "b/problems/images/\346\240\210\344\270\216\351\230\237\345\210\227\347\220\206\350\256\272\345\237\272\347\241\200-01.png" new file mode 100644 index 0000000000..556a660843 Binary files /dev/null and "b/problems/images/\346\240\210\344\270\216\351\230\237\345\210\227\347\220\206\350\256\272\345\237\272\347\241\200-01.png" differ diff --git "a/problems/images/\346\240\210\344\270\216\351\230\237\345\210\227\347\220\206\350\256\272\345\237\272\347\241\200-02.png" "b/problems/images/\346\240\210\344\270\216\351\230\237\345\210\227\347\220\206\350\256\272\345\237\272\347\241\200-02.png" new file mode 100644 index 0000000000..28aa4221f1 Binary files /dev/null and "b/problems/images/\346\240\210\344\270\216\351\230\237\345\210\227\347\220\206\350\256\272\345\237\272\347\241\200-02.png" differ diff --git "a/problems/images/\346\240\210\344\270\216\351\230\237\345\210\227\347\220\206\350\256\272\345\237\272\347\241\200-03.png" "b/problems/images/\346\240\210\344\270\216\351\230\237\345\210\227\347\220\206\350\256\272\345\237\272\347\241\200-03.png" new file mode 100644 index 0000000000..dd6a298ebf Binary files /dev/null and "b/problems/images/\346\240\210\344\270\216\351\230\237\345\210\227\347\220\206\350\256\272\345\237\272\347\241\200-03.png" differ diff --git "a/problems/images/\346\240\271\346\215\256\350\272\253\351\253\230\351\207\215\345\273\272\351\230\237\345\210\227\357\274\210vector\345\216\237\347\220\206\350\256\262\350\247\243\357\274\211-01.png" "b/problems/images/\346\240\271\346\215\256\350\272\253\351\253\230\351\207\215\345\273\272\351\230\237\345\210\227\357\274\210vector\345\216\237\347\220\206\350\256\262\350\247\243\357\274\211-01.png" new file mode 100644 index 0000000000..3ecd852698 Binary files /dev/null and "b/problems/images/\346\240\271\346\215\256\350\272\253\351\253\230\351\207\215\345\273\272\351\230\237\345\210\227\357\274\210vector\345\216\237\347\220\206\350\256\262\350\247\243\357\274\211-01.png" differ diff --git "a/problems/images/\346\240\271\346\215\256\350\272\253\351\253\230\351\207\215\345\273\272\351\230\237\345\210\227\357\274\210vector\345\216\237\347\220\206\350\256\262\350\247\243\357\274\211-02.png" "b/problems/images/\346\240\271\346\215\256\350\272\253\351\253\230\351\207\215\345\273\272\351\230\237\345\210\227\357\274\210vector\345\216\237\347\220\206\350\256\262\350\247\243\357\274\211-02.png" new file mode 100644 index 0000000000..d221902b04 Binary files /dev/null and "b/problems/images/\346\240\271\346\215\256\350\272\253\351\253\230\351\207\215\345\273\272\351\230\237\345\210\227\357\274\210vector\345\216\237\347\220\206\350\256\262\350\247\243\357\274\211-02.png" differ diff --git "a/problems/images/\346\240\271\346\215\256\350\272\253\351\253\230\351\207\215\345\273\272\351\230\237\345\210\227\357\274\210vector\345\216\237\347\220\206\350\256\262\350\247\243\357\274\211-03.png" "b/problems/images/\346\240\271\346\215\256\350\272\253\351\253\230\351\207\215\345\273\272\351\230\237\345\210\227\357\274\210vector\345\216\237\347\220\206\350\256\262\350\247\243\357\274\211-03.png" new file mode 100644 index 0000000000..3bf2343ea2 Binary files /dev/null and "b/problems/images/\346\240\271\346\215\256\350\272\253\351\253\230\351\207\215\345\273\272\351\230\237\345\210\227\357\274\210vector\345\216\237\347\220\206\350\256\262\350\247\243\357\274\211-03.png" differ diff --git "a/problems/images/\346\240\271\346\215\256\350\272\253\351\253\230\351\207\215\345\273\272\351\230\237\345\210\227\357\274\210vector\345\216\237\347\220\206\350\256\262\350\247\243\357\274\211-04.png" "b/problems/images/\346\240\271\346\215\256\350\272\253\351\253\230\351\207\215\345\273\272\351\230\237\345\210\227\357\274\210vector\345\216\237\347\220\206\350\256\262\350\247\243\357\274\211-04.png" new file mode 100644 index 0000000000..e33a90fa2b Binary files /dev/null and "b/problems/images/\346\240\271\346\215\256\350\272\253\351\253\230\351\207\215\345\273\272\351\230\237\345\210\227\357\274\210vector\345\216\237\347\220\206\350\256\262\350\247\243\357\274\211-04.png" differ diff --git "a/problems/images/\347\250\213\345\272\217\345\221\230\347\256\200\345\216\206-01.png" "b/problems/images/\347\250\213\345\272\217\345\221\230\347\256\200\345\216\206-01.png" new file mode 100644 index 0000000000..cb9d6a67aa Binary files /dev/null and "b/problems/images/\347\250\213\345\272\217\345\221\230\347\256\200\345\216\206-01.png" differ diff --git "a/problems/images/\347\250\213\345\272\217\345\221\230\347\256\200\345\216\206-02.png" "b/problems/images/\347\250\213\345\272\217\345\221\230\347\256\200\345\216\206-02.png" new file mode 100644 index 0000000000..2558cad16c Binary files /dev/null and "b/problems/images/\347\250\213\345\272\217\345\221\230\347\256\200\345\216\206-02.png" differ diff --git "a/problems/images/\347\256\227\346\263\225\350\266\205\346\227\266-01.png" "b/problems/images/\347\256\227\346\263\225\350\266\205\346\227\266-01.png" new file mode 100644 index 0000000000..e7474cd425 Binary files /dev/null and "b/problems/images/\347\256\227\346\263\225\350\266\205\346\227\266-01.png" differ diff --git "a/problems/images/\347\256\227\346\263\225\350\266\205\346\227\266-02.png" "b/problems/images/\347\256\227\346\263\225\350\266\205\346\227\266-02.png" new file mode 100644 index 0000000000..4262e4bdb4 Binary files /dev/null and "b/problems/images/\347\256\227\346\263\225\350\266\205\346\227\266-02.png" differ diff --git "a/problems/images/\347\256\227\346\263\225\350\266\205\346\227\266-03.png" "b/problems/images/\347\256\227\346\263\225\350\266\205\346\227\266-03.png" new file mode 100644 index 0000000000..5df66e0b79 Binary files /dev/null and "b/problems/images/\347\256\227\346\263\225\350\266\205\346\227\266-03.png" differ diff --git "a/problems/images/\347\256\227\346\263\225\350\266\205\346\227\266-04.png" "b/problems/images/\347\256\227\346\263\225\350\266\205\346\227\266-04.png" new file mode 100644 index 0000000000..9201997997 Binary files /dev/null and "b/problems/images/\347\256\227\346\263\225\350\266\205\346\227\266-04.png" differ diff --git "a/problems/images/\347\256\227\346\263\225\350\266\205\346\227\266-05.png" "b/problems/images/\347\256\227\346\263\225\350\266\205\346\227\266-05.png" new file mode 100644 index 0000000000..9de22df491 Binary files /dev/null and "b/problems/images/\347\256\227\346\263\225\350\266\205\346\227\266-05.png" differ diff --git "a/problems/images/\350\203\214\345\214\205\346\200\273\347\273\223\347\257\207-01.png" "b/problems/images/\350\203\214\345\214\205\346\200\273\347\273\223\347\257\207-01.png" new file mode 100644 index 0000000000..761b7df82e Binary files /dev/null and "b/problems/images/\350\203\214\345\214\205\346\200\273\347\273\223\347\257\207-01.png" differ diff --git "a/problems/images/\350\203\214\345\214\205\346\200\273\347\273\223\347\257\207-02.jpeg" "b/problems/images/\350\203\214\345\214\205\346\200\273\347\273\223\347\257\207-02.jpeg" new file mode 100644 index 0000000000..b480db4716 Binary files /dev/null and "b/problems/images/\350\203\214\345\214\205\346\200\273\347\273\223\347\257\207-02.jpeg" differ diff --git "a/problems/images/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-1-01.png" "b/problems/images/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-1-01.png" new file mode 100644 index 0000000000..6be70dc624 Binary files /dev/null and "b/problems/images/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-1-01.png" differ diff --git "a/problems/images/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-1-02.png" "b/problems/images/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-1-02.png" new file mode 100644 index 0000000000..0dada375bb Binary files /dev/null and "b/problems/images/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-1-02.png" differ diff --git "a/problems/images/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-1-03.png" "b/problems/images/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-1-03.png" new file mode 100644 index 0000000000..b7d80ec2cb Binary files /dev/null and "b/problems/images/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-1-03.png" differ diff --git "a/problems/images/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-1-04.png" "b/problems/images/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-1-04.png" new file mode 100644 index 0000000000..6cd03bc00c Binary files /dev/null and "b/problems/images/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-1-04.png" differ diff --git "a/problems/images/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-1-05.png" "b/problems/images/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-1-05.png" new file mode 100644 index 0000000000..a2d02538a0 Binary files /dev/null and "b/problems/images/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-1-05.png" differ diff --git "a/problems/images/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-1-06.png" "b/problems/images/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-1-06.png" new file mode 100644 index 0000000000..cb63859484 Binary files /dev/null and "b/problems/images/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-1-06.png" differ diff --git "a/problems/images/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-1-07.png" "b/problems/images/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-1-07.png" new file mode 100644 index 0000000000..ca639197b2 Binary files /dev/null and "b/problems/images/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-1-07.png" differ diff --git "a/problems/images/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-1-08.png" "b/problems/images/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-1-08.png" new file mode 100644 index 0000000000..cd3b68cab4 Binary files /dev/null and "b/problems/images/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-1-08.png" differ diff --git "a/problems/images/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-1-09.jpg" "b/problems/images/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-1-09.jpg" new file mode 100644 index 0000000000..e11eadf909 Binary files /dev/null and "b/problems/images/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-1-09.jpg" differ diff --git "a/problems/images/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-1-10.png" "b/problems/images/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-1-10.png" new file mode 100644 index 0000000000..a2e06439fe Binary files /dev/null and "b/problems/images/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-1-10.png" differ diff --git "a/problems/images/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-1-11.png" "b/problems/images/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-1-11.png" new file mode 100644 index 0000000000..f35fa67d03 Binary files /dev/null and "b/problems/images/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-1-11.png" differ diff --git "a/problems/images/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-1-12.png" "b/problems/images/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-1-12.png" new file mode 100644 index 0000000000..f1017f19b2 Binary files /dev/null and "b/problems/images/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-1-12.png" differ diff --git "a/problems/images/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-1-13.jpg" "b/problems/images/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-1-13.jpg" new file mode 100644 index 0000000000..80d6b31ee6 Binary files /dev/null and "b/problems/images/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-1-13.jpg" differ diff --git "a/problems/images/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-2-01.png" "b/problems/images/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-2-01.png" new file mode 100644 index 0000000000..6818de45b3 Binary files /dev/null and "b/problems/images/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-2-01.png" differ diff --git "a/problems/images/\350\203\214\345\214\205\351\227\256\351\242\230\345\256\214\345\205\250\350\203\214\345\214\205\344\270\200\347\273\264-01.jpg" "b/problems/images/\350\203\214\345\214\205\351\227\256\351\242\230\345\256\214\345\205\250\350\203\214\345\214\205\344\270\200\347\273\264-01.jpg" new file mode 100644 index 0000000000..080b887755 Binary files /dev/null and "b/problems/images/\350\203\214\345\214\205\351\227\256\351\242\230\345\256\214\345\205\250\350\203\214\345\214\205\344\270\200\347\273\264-01.jpg" differ diff --git "a/problems/images/\350\203\214\345\214\205\351\227\256\351\242\230\345\256\214\345\205\250\350\203\214\345\214\205\344\270\200\347\273\264-02.png" "b/problems/images/\350\203\214\345\214\205\351\227\256\351\242\230\345\256\214\345\205\250\350\203\214\345\214\205\344\270\200\347\273\264-02.png" new file mode 100644 index 0000000000..fe1797f6ca Binary files /dev/null and "b/problems/images/\350\203\214\345\214\205\351\227\256\351\242\230\345\256\214\345\205\250\350\203\214\345\214\205\344\270\200\347\273\264-02.png" differ diff --git "a/problems/images/\350\203\214\345\214\205\351\227\256\351\242\230\347\220\206\350\256\272\345\237\272\347\241\200\345\256\214\345\205\250\350\203\214\345\214\205-01.png" "b/problems/images/\350\203\214\345\214\205\351\227\256\351\242\230\347\220\206\350\256\272\345\237\272\347\241\200\345\256\214\345\205\250\350\203\214\345\214\205-01.png" new file mode 100644 index 0000000000..60747b1e63 Binary files /dev/null and "b/problems/images/\350\203\214\345\214\205\351\227\256\351\242\230\347\220\206\350\256\272\345\237\272\347\241\200\345\256\214\345\205\250\350\203\214\345\214\205-01.png" differ diff --git "a/problems/images/\350\203\214\345\214\205\351\227\256\351\242\230\347\220\206\350\256\272\345\237\272\347\241\200\345\256\214\345\205\250\350\203\214\345\214\205-02.png" "b/problems/images/\350\203\214\345\214\205\351\227\256\351\242\230\347\220\206\350\256\272\345\237\272\347\241\200\345\256\214\345\205\250\350\203\214\345\214\205-02.png" new file mode 100644 index 0000000000..fe9b690b9b Binary files /dev/null and "b/problems/images/\350\203\214\345\214\205\351\227\256\351\242\230\347\220\206\350\256\272\345\237\272\347\241\200\345\256\214\345\205\250\350\203\214\345\214\205-02.png" differ diff --git "a/problems/images/\350\203\214\345\214\205\351\227\256\351\242\230\347\220\206\350\256\272\345\237\272\347\241\200\345\256\214\345\205\250\350\203\214\345\214\205-03.png" "b/problems/images/\350\203\214\345\214\205\351\227\256\351\242\230\347\220\206\350\256\272\345\237\272\347\241\200\345\256\214\345\205\250\350\203\214\345\214\205-03.png" new file mode 100644 index 0000000000..ca639197b2 Binary files /dev/null and "b/problems/images/\350\203\214\345\214\205\351\227\256\351\242\230\347\220\206\350\256\272\345\237\272\347\241\200\345\256\214\345\205\250\350\203\214\345\214\205-03.png" differ diff --git "a/problems/images/\350\203\214\345\214\205\351\227\256\351\242\230\347\220\206\350\256\272\345\237\272\347\241\200\345\256\214\345\205\250\350\203\214\345\214\205-04.png" "b/problems/images/\350\203\214\345\214\205\351\227\256\351\242\230\347\220\206\350\256\272\345\237\272\347\241\200\345\256\214\345\205\250\350\203\214\345\214\205-04.png" new file mode 100644 index 0000000000..e570de00db Binary files /dev/null and "b/problems/images/\350\203\214\345\214\205\351\227\256\351\242\230\347\220\206\350\256\272\345\237\272\347\241\200\345\256\214\345\205\250\350\203\214\345\214\205-04.png" differ diff --git "a/problems/images/\350\203\214\345\214\205\351\227\256\351\242\230\347\220\206\350\256\272\345\237\272\347\241\200\345\256\214\345\205\250\350\203\214\345\214\205-05.png" "b/problems/images/\350\203\214\345\214\205\351\227\256\351\242\230\347\220\206\350\256\272\345\237\272\347\241\200\345\256\214\345\205\250\350\203\214\345\214\205-05.png" new file mode 100644 index 0000000000..46ed28a6f3 Binary files /dev/null and "b/problems/images/\350\203\214\345\214\205\351\227\256\351\242\230\347\220\206\350\256\272\345\237\272\347\241\200\345\256\214\345\205\250\350\203\214\345\214\205-05.png" differ diff --git "a/problems/images/\350\264\252\345\277\203\347\256\227\346\263\225\346\200\273\347\273\223\347\257\207-01.png" "b/problems/images/\350\264\252\345\277\203\347\256\227\346\263\225\346\200\273\347\273\223\347\257\207-01.png" new file mode 100644 index 0000000000..0fdfe8e518 Binary files /dev/null and "b/problems/images/\350\264\252\345\277\203\347\256\227\346\263\225\346\200\273\347\273\223\347\257\207-01.png" differ diff --git "a/problems/images/\350\264\252\345\277\203\347\256\227\346\263\225\347\220\206\350\256\272\345\237\272\347\241\200-01.png" "b/problems/images/\350\264\252\345\277\203\347\256\227\346\263\225\347\220\206\350\256\272\345\237\272\347\241\200-01.png" new file mode 100644 index 0000000000..ff502d4efc Binary files /dev/null and "b/problems/images/\350\264\252\345\277\203\347\256\227\346\263\225\347\220\206\350\256\272\345\237\272\347\241\200-01.png" differ diff --git "a/problems/images/\351\200\222\345\275\222\347\256\227\346\263\225\347\232\204\346\227\266\351\227\264\344\270\216\347\251\272\351\227\264\345\244\215\346\235\202\345\272\246\345\210\206\346\236\220-01.png" "b/problems/images/\351\200\222\345\275\222\347\256\227\346\263\225\347\232\204\346\227\266\351\227\264\344\270\216\347\251\272\351\227\264\345\244\215\346\235\202\345\272\246\345\210\206\346\236\220-01.png" new file mode 100644 index 0000000000..0f1331b4b3 Binary files /dev/null and "b/problems/images/\351\200\222\345\275\222\347\256\227\346\263\225\347\232\204\346\227\266\351\227\264\344\270\216\347\251\272\351\227\264\345\244\215\346\235\202\345\272\246\345\210\206\346\236\220-01.png" differ diff --git "a/problems/images/\351\200\222\345\275\222\347\256\227\346\263\225\347\232\204\346\227\266\351\227\264\344\270\216\347\251\272\351\227\264\345\244\215\346\235\202\345\272\246\345\210\206\346\236\220-02.png" "b/problems/images/\351\200\222\345\275\222\347\256\227\346\263\225\347\232\204\346\227\266\351\227\264\344\270\216\347\251\272\351\227\264\345\244\215\346\235\202\345\272\246\345\210\206\346\236\220-02.png" new file mode 100644 index 0000000000..3485d05784 Binary files /dev/null and "b/problems/images/\351\200\222\345\275\222\347\256\227\346\263\225\347\232\204\346\227\266\351\227\264\344\270\216\347\251\272\351\227\264\345\244\215\346\235\202\345\272\246\345\210\206\346\236\220-02.png" differ diff --git "a/problems/images/\351\200\222\345\275\222\347\256\227\346\263\225\347\232\204\346\227\266\351\227\264\344\270\216\347\251\272\351\227\264\345\244\215\346\235\202\345\272\246\345\210\206\346\236\220-03.png" "b/problems/images/\351\200\222\345\275\222\347\256\227\346\263\225\347\232\204\346\227\266\351\227\264\344\270\216\347\251\272\351\227\264\345\244\215\346\235\202\345\272\246\345\210\206\346\236\220-03.png" new file mode 100644 index 0000000000..5b358256ed Binary files /dev/null and "b/problems/images/\351\200\222\345\275\222\347\256\227\346\263\225\347\232\204\346\227\266\351\227\264\344\270\216\347\251\272\351\227\264\345\244\215\346\235\202\345\272\246\345\210\206\346\236\220-03.png" differ diff --git "a/problems/images/\351\200\222\345\275\222\347\256\227\346\263\225\347\232\204\346\227\266\351\227\264\345\244\215\346\235\202\345\272\246-01.png" "b/problems/images/\351\200\222\345\275\222\347\256\227\346\263\225\347\232\204\346\227\266\351\227\264\345\244\215\346\235\202\345\272\246-01.png" new file mode 100644 index 0000000000..6e852947fe Binary files /dev/null and "b/problems/images/\351\200\222\345\275\222\347\256\227\346\263\225\347\232\204\346\227\266\351\227\264\345\244\215\346\235\202\345\272\246-01.png" differ diff --git "a/problems/images/\351\200\222\345\275\222\347\256\227\346\263\225\347\232\204\346\227\266\351\227\264\345\244\215\346\235\202\345\272\246-02.png" "b/problems/images/\351\200\222\345\275\222\347\256\227\346\263\225\347\232\204\346\227\266\351\227\264\345\244\215\346\235\202\345\272\246-02.png" new file mode 100644 index 0000000000..fa9b122818 Binary files /dev/null and "b/problems/images/\351\200\222\345\275\222\347\256\227\346\263\225\347\232\204\346\227\266\351\227\264\345\244\215\346\235\202\345\272\246-02.png" differ diff --git "a/problems/images/\351\223\276\350\241\250\346\200\273\347\273\223\347\257\207-01.png" "b/problems/images/\351\223\276\350\241\250\346\200\273\347\273\223\347\257\207-01.png" new file mode 100644 index 0000000000..913827310e Binary files /dev/null and "b/problems/images/\351\223\276\350\241\250\346\200\273\347\273\223\347\257\207-01.png" differ diff --git "a/problems/images/\351\223\276\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200-01.png" "b/problems/images/\351\223\276\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200-01.png" new file mode 100644 index 0000000000..ba18a0b76a Binary files /dev/null and "b/problems/images/\351\223\276\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200-01.png" differ diff --git "a/problems/images/\351\223\276\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200-02.png" "b/problems/images/\351\223\276\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200-02.png" new file mode 100644 index 0000000000..9e7d7d9bd5 Binary files /dev/null and "b/problems/images/\351\223\276\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200-02.png" differ diff --git "a/problems/images/\351\223\276\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200-03.png" "b/problems/images/\351\223\276\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200-03.png" new file mode 100644 index 0000000000..ec1e906c94 Binary files /dev/null and "b/problems/images/\351\223\276\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200-03.png" differ diff --git "a/problems/images/\351\223\276\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200-04.png" "b/problems/images/\351\223\276\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200-04.png" new file mode 100644 index 0000000000..60741a6445 Binary files /dev/null and "b/problems/images/\351\223\276\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200-04.png" differ diff --git "a/problems/images/\351\223\276\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200-05.png" "b/problems/images/\351\223\276\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200-05.png" new file mode 100644 index 0000000000..a865665efb Binary files /dev/null and "b/problems/images/\351\223\276\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200-05.png" differ diff --git "a/problems/images/\351\223\276\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200-06.png" "b/problems/images/\351\223\276\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200-06.png" new file mode 100644 index 0000000000..5ff3d8554e Binary files /dev/null and "b/problems/images/\351\223\276\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200-06.png" differ diff --git "a/problems/images/\351\223\276\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200-07.png" "b/problems/images/\351\223\276\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200-07.png" new file mode 100644 index 0000000000..5fc18709b3 Binary files /dev/null and "b/problems/images/\351\223\276\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200-07.png" differ diff --git "a/problems/images/\351\235\242\350\257\225\351\242\23002.07.\351\223\276\350\241\250\347\233\270\344\272\244-01.png" "b/problems/images/\351\235\242\350\257\225\351\242\23002.07.\351\223\276\350\241\250\347\233\270\344\272\244-01.png" new file mode 100644 index 0000000000..bf6e9e98df Binary files /dev/null and "b/problems/images/\351\235\242\350\257\225\351\242\23002.07.\351\223\276\350\241\250\347\233\270\344\272\244-01.png" differ diff --git "a/problems/images/\351\235\242\350\257\225\351\242\23002.07.\351\223\276\350\241\250\347\233\270\344\272\244-02.png" "b/problems/images/\351\235\242\350\257\225\351\242\23002.07.\351\223\276\350\241\250\347\233\270\344\272\244-02.png" new file mode 100644 index 0000000000..0b2f673582 Binary files /dev/null and "b/problems/images/\351\235\242\350\257\225\351\242\23002.07.\351\223\276\350\241\250\347\233\270\344\272\244-02.png" differ diff --git "a/problems/images/\351\235\242\350\257\225\351\242\23002.07.\351\223\276\350\241\250\347\233\270\344\272\244-03.png" "b/problems/images/\351\235\242\350\257\225\351\242\23002.07.\351\223\276\350\241\250\347\233\270\344\272\244-03.png" new file mode 100644 index 0000000000..7ab165e5d8 Binary files /dev/null and "b/problems/images/\351\235\242\350\257\225\351\242\23002.07.\351\223\276\350\241\250\347\233\270\344\272\244-03.png" differ diff --git "a/problems/images/\351\235\242\350\257\225\351\242\23002.07.\351\223\276\350\241\250\347\233\270\344\272\244-04.png" "b/problems/images/\351\235\242\350\257\225\351\242\23002.07.\351\223\276\350\241\250\347\233\270\344\272\244-04.png" new file mode 100644 index 0000000000..e81f8851a7 Binary files /dev/null and "b/problems/images/\351\235\242\350\257\225\351\242\23002.07.\351\223\276\350\241\250\347\233\270\344\272\244-04.png" differ diff --git "a/problems/images/\351\235\242\350\257\225\351\242\23002.07.\351\223\276\350\241\250\347\233\270\344\272\244-05.png" "b/problems/images/\351\235\242\350\257\225\351\242\23002.07.\351\223\276\350\241\250\347\233\270\344\272\244-05.png" new file mode 100644 index 0000000000..e81f8851a7 Binary files /dev/null and "b/problems/images/\351\235\242\350\257\225\351\242\23002.07.\351\223\276\350\241\250\347\233\270\344\272\244-05.png" differ diff --git "a/problems/images/\351\235\242\350\257\225\351\242\23002.07.\351\223\276\350\241\250\347\233\270\344\272\244-06.png" "b/problems/images/\351\235\242\350\257\225\351\242\23002.07.\351\223\276\350\241\250\347\233\270\344\272\244-06.png" new file mode 100644 index 0000000000..678311d1c0 Binary files /dev/null and "b/problems/images/\351\235\242\350\257\225\351\242\23002.07.\351\223\276\350\241\250\347\233\270\344\272\244-06.png" differ diff --git "a/problems/images/\351\235\242\350\257\225\351\242\23002.07.\351\223\276\350\241\250\347\233\270\344\272\244-07.png" "b/problems/images/\351\235\242\350\257\225\351\242\23002.07.\351\223\276\350\241\250\347\233\270\344\272\244-07.png" new file mode 100644 index 0000000000..97881beca1 Binary files /dev/null and "b/problems/images/\351\235\242\350\257\225\351\242\23002.07.\351\223\276\350\241\250\347\233\270\344\272\244-07.png" differ diff --git "a/problems/kamacoder/0047.\345\217\202\344\274\232dijkstra\345\240\206.md" "b/problems/kamacoder/0047.\345\217\202\344\274\232dijkstra\345\240\206.md" index 75c12f8a96..f7eb4b1726 100644 --- "a/problems/kamacoder/0047.\345\217\202\344\274\232dijkstra\345\240\206.md" +++ "b/problems/kamacoder/0047.\345\217\202\344\274\232dijkstra\345\240\206.md" @@ -46,13 +46,13 @@ 如下图所示,起始车站为 1 号车站,终点车站为 7 号车站,绿色路线为最短的路线,路线总长度为 12,则输出 12。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240227101345.png) +![](../images/0047.参会dijkstra堆-01.png) 不能到达的情况: 如下图所示,当从起始车站不能到达终点车站时,则输出 -1。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240227101401.png) +![](../images/0047.参会dijkstra堆-02.png) 数据范围: @@ -101,7 +101,7 @@ 如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240222110025.png) +![](../images/0047.参会dijkstra堆-03.png) 在一个 n (节点数)为8 的图中,就需要申请 8 * 8 这么大的空间,有一条双向边,即:grid[2][5] = 6,grid[5][2] = 6 @@ -125,7 +125,7 @@ 邻接表的构造如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240223103713.png) +![](../images/0047.参会dijkstra堆-04.png) 这里表达的图是: @@ -210,7 +210,7 @@ vector> grid(n + 1); 不少录友,不知道 如何定义的数据结构,怎么表示邻接表的,我来给大家画一个图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240223103713.png) +![](../images/0047.参会dijkstra堆-05.png) 图中邻接表表示: @@ -231,7 +231,7 @@ vector>> grid(n + 1); 举例来给大家展示 该代码表达的数据 如下: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240223103904.png) +![](../images/0047.参会dijkstra堆-06.png) * 节点1 指向 节点3 权值为 1 * 节点1 指向 节点5 权值为 2 @@ -354,7 +354,7 @@ for (int v = 1; v <= n; v++) { 再回顾一下邻接表的构造(数组 + 链表): -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240223103713.png) +![](../images/0047.参会dijkstra堆-07.png) 假如 加入的cur 是节点 2, 那么 grid[2] 表示的就是图中第二行链表。 (grid数组的构造我们在 上面 「图的存储」中讲过) diff --git "a/problems/kamacoder/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240.md" "b/problems/kamacoder/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240.md" index e71e9d5374..83836eb460 100644 --- "a/problems/kamacoder/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240.md" +++ "b/problems/kamacoder/0047.\345\217\202\344\274\232dijkstra\346\234\264\347\264\240.md" @@ -46,13 +46,13 @@ 如下图所示,起始车站为 1 号车站,终点车站为 7 号车站,绿色路线为最短的路线,路线总长度为 12,则输出 12。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240227101345.png) +![](../images/0047.参会dijkstra朴素-01.png) 不能到达的情况: 如下图所示,当从起始车站不能到达终点车站时,则输出 -1。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240227101401.png) +![](../images/0047.参会dijkstra朴素-02.png) 数据范围: @@ -76,7 +76,7 @@ dijkstra算法:在有权图(权值非负数)中求从起点到其他节点 如本题示例中的图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240125162647.png) +![](../images/0047.参会dijkstra朴素-03.png) 起点(节点1)到终点(节点7) 的最短路径是 图中 标记绿线的部分。 @@ -122,7 +122,7 @@ minDist数组数值初始化为int最大值。 这里在强点一下 **minDist数组的含义:记录所有节点到源点的最短路径**,那么初始化的时候就应该初始为最大值,这样才能在后续出现最短路径的时候及时更新。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240130115306.png) +![](../images/0047.参会dijkstra朴素-04.png) (图中,max 表示默认值,节点0 不做处理,统一从下标1 开始计算,这样下标和节点数值统一, 方便大家理解,避免搞混) @@ -144,7 +144,7 @@ minDist数组数值初始化为int最大值。 3、更新非访问节点到源点的距离(即更新minDist数组) ,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240130115421.png) +![](../images/0047.参会dijkstra朴素-05.png) 更新 minDist数组,即:源点(节点1) 到 节点2 和 节点3的距离。 @@ -170,7 +170,7 @@ minDist数组数值初始化为int最大值。 3、更新非访问节点到源点的距离(即更新minDist数组) ,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240130121240.png) +![](../images/0047.参会dijkstra朴素-06.png) 更新 minDist数组,即:源点(节点1) 到 节点6 、 节点3 和 节点4的距离。 @@ -204,7 +204,7 @@ minDist数组数值初始化为int最大值。 3、更新非访问节点到源点的距离(即更新minDist数组) ,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240130120434.png) +![](../images/0047.参会dijkstra朴素-07.png) 由于节点3的加入,那么源点可以有新的路径链接到节点4 所以更新minDist数组: @@ -224,7 +224,7 @@ minDist数组数值初始化为int最大值。 3、更新非访问节点到源点的距离(即更新minDist数组) ,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240201105335.png) +![](../images/0047.参会dijkstra朴素-08.png) 由于节点4的加入,那么源点可以链接到节点5 所以更新minDist数组: @@ -244,7 +244,7 @@ minDist数组数值初始化为int最大值。 3、更新非访问节点到源点的距离(即更新minDist数组) ,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240201110250.png) +![](../images/0047.参会dijkstra朴素-09.png) 由于节点6的加入,那么源点可以链接到节点7 所以 更新minDist数组: @@ -264,7 +264,7 @@ minDist数组数值初始化为int最大值。 3、更新非访问节点到源点的距离(即更新minDist数组) ,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240201110651.png) +![](../images/0047.参会dijkstra朴素-10.png) 由于节点5的加入,那么源点有新的路径可以链接到节点7 所以 更新minDist数组: @@ -282,7 +282,7 @@ minDist数组数值初始化为int最大值。 3、更新非访问节点到源点的距离(即更新minDist数组) ,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240201110920.png) +![](../images/0047.参会dijkstra朴素-11.png) 节点7加入,但节点7到节点7的距离为0,所以 不用更新minDist数组 @@ -296,7 +296,7 @@ minDist数组数值初始化为int最大值。 路径如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240201111352.png) +![](../images/0047.参会dijkstra朴素-12.png) 在上面的讲解中,每一步 我都是按照 dijkstra 三部曲来讲解的,理解了这三部曲,代码也就好懂的。 @@ -541,7 +541,7 @@ int main() { 对应如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240201111352.png) +![](../images/0047.参会dijkstra朴素-13.png) ### 出现负数 @@ -549,7 +549,7 @@ int main() { 看一下这个图: (有负权值) -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240227104334.png) +![](../images/0047.参会dijkstra朴素-14.png) 节点1 到 节点5 的最短路径 应该是 节点1 -> 节点2 -> 节点3 -> 节点4 -> 节点5 @@ -559,7 +559,7 @@ int main() { 初始化: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240227104801.png) +![](../images/0047.参会dijkstra朴素-15.png) --------------- @@ -573,7 +573,7 @@ int main() { 3、更新非访问节点到源点的距离(即更新minDist数组) ,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240227110217.png) +![](../images/0047.参会dijkstra朴素-16.png) 更新 minDist数组,即:源点(节点1) 到 节点2 和 节点3的距离。 @@ -592,7 +592,7 @@ int main() { 3、更新非访问节点到源点的距离(即更新minDist数组) ,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240227110330.png) +![](../images/0047.参会dijkstra朴素-17.png) 由于节点3的加入,那么源点可以有新的路径链接到节点4 所以更新minDist数组: @@ -610,7 +610,7 @@ int main() { 3、更新非访问节点到源点的距离(即更新minDist数组) ,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240227110346.png) +![](../images/0047.参会dijkstra朴素-18.png) 由于节点4的加入,那么源点可以有新的路径链接到节点5 所以更新minDist数组: @@ -628,7 +628,7 @@ int main() { 3、更新非访问节点到源点的距离(即更新minDist数组) ,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240227110405.png) +![](../images/0047.参会dijkstra朴素-19.png) 节点5的加入,而节点5 没有链接其他节点, 所以不用更新minDist数组,仅标记节点5被访问过了 @@ -644,7 +644,7 @@ int main() { 3、更新非访问节点到源点的距离(即更新minDist数组) ,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240227110711.png) +![](../images/0047.参会dijkstra朴素-20.png) -------------- diff --git "a/problems/kamacoder/0053.\345\257\273\345\256\235-Kruskal.md" "b/problems/kamacoder/0053.\345\257\273\345\256\235-Kruskal.md" index 861efe6806..be3667d077 100644 --- "a/problems/kamacoder/0053.\345\257\273\345\256\235-Kruskal.md" +++ "b/problems/kamacoder/0053.\345\257\273\345\256\235-Kruskal.md" @@ -63,7 +63,7 @@ kruscal的思路: 依然以示例中,如下这个图来举例。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240111113514.png) +![](../images/0053.寻宝-Kruskal-01.png) 将图中的边按照权值有小到大排序,这样从贪心的角度来说,优先选 权值小的边加入到 最小生成树中。 @@ -77,13 +77,13 @@ kruscal的思路: 选边(1,2),节点1 和 节点2 不在同一个集合,所以生成树可以添加边(1,2),并将 节点1,节点2 放在同一个集合。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240111114204.png) +![](../images/0053.寻宝-Kruskal-02.png) -------- 选边(4,5),节点4 和 节点 5 不在同一个集合,生成树可以添加边(4,5) ,并将节点4,节点5 放到同一个集合。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240111120458.png) +![](../images/0053.寻宝-Kruskal-03.png) **大家判断两个节点是否在同一个集合,就看图中两个节点是否有绿色的粗线连着就行** @@ -93,25 +93,25 @@ kruscal的思路: 选边(1,3),节点1 和 节点3 不在同一个集合,生成树添加边(1,3),并将节点1,节点3 放到同一个集合。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240112105834.png) +![](../images/0053.寻宝-Kruskal-04.png) --------- 选边(2,6),节点2 和 节点6 不在同一个集合,生成树添加边(2,6),并将节点2,节点6 放到同一个集合。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240112110214.png) +![](../images/0053.寻宝-Kruskal-05.png) -------- 选边(3,4),节点3 和 节点4 不在同一个集合,生成树添加边(3,4),并将节点3,节点4 放到同一个集合。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240112110450.png) +![](../images/0053.寻宝-Kruskal-06.png) ---------- 选边(6,7),节点6 和 节点7 不在同一个集合,生成树添加边(6,7),并将 节点6,节点7 放到同一个集合。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240112110637.png) +![](../images/0053.寻宝-Kruskal-07.png) ----------- @@ -126,7 +126,7 @@ kruscal的思路: 此时 我们就已经生成了一个最小生成树,即: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240112110637.png) +![](../images/0053.寻宝-Kruskal-08.png) 在上面的讲解中,看图的话 大家知道如何判断 两个节点 是否在同一个集合(是否有绿色的线连在一起),以及如何把两个节点加入集合(就在图中把两个节点连上) @@ -346,7 +346,7 @@ int main() { 大家可能发现 怎么和我们 模拟画的图不一样,差别在于 代码生成的最小生成树中 节点5 和 节点7相连的。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240116163014.png) +![](../images/0053.寻宝-Kruskal-09.png) 其实造成这个差别 是对边排序的时候 权值相同的边先后顺序的问题导致的,无论相同权值边的顺序是什么样的,最后都能得出最小生成树。 @@ -366,7 +366,7 @@ Kruskal 与 prim 的关键区别在于,prim维护的是节点的集合,而 K 节点未必一定要连着边那, 例如 这个图,大家能明显感受到边没有那么多对吧,但节点数量 和 上述我们讲的例子是一样的。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240116152211.png) +![](../images/0053.寻宝-Kruskal-10.png) 为什么边少的话,使用 Kruskal 更优呢? diff --git "a/problems/kamacoder/0053.\345\257\273\345\256\235-prim.md" "b/problems/kamacoder/0053.\345\257\273\345\256\235-prim.md" index 8e26bea4bd..413a7ba747 100644 --- "a/problems/kamacoder/0053.\345\257\273\345\256\235-prim.md" +++ "b/problems/kamacoder/0053.\345\257\273\345\256\235-prim.md" @@ -61,7 +61,7 @@ 例如本题示例中的无向有权图为: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20231206164306.png) +![](../images/0053.寻宝-prim-01.png) 那么在这个图中,如何选取n-1条边使得图中所有节点连接到一起,并且边的权值和最小呢? @@ -100,7 +100,7 @@ minDist数组里的数值初始化为最大数,因为本题节点距离不会 如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20231215105603.png) +![](../images/0053.寻宝-prim-02.png) 开始构造最小生成树 @@ -118,7 +118,7 @@ minDist数组里的数值初始化为最大数,因为本题节点距离不会 接下来,我们要更新所有节点距离最小生成树的距离,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20231222102048.png) +![](../images/0053.寻宝-prim-03.png) 注意下标0,我们就不管它了,下标1与节点1对应,这样可以避免大家把节点搞混。 @@ -148,7 +148,7 @@ minDist数组里的数值初始化为最大数,因为本题节点距离不会 接下来,我们要更新节点距离最小生成树的距离,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20231222102431.png) +![](../images/0053.寻宝-prim-04.png) 此时所有非生成树的节点距离最小生成树(节点1、节点2)的距离都已经跟新了。 @@ -172,7 +172,7 @@ minDist数组里的数值初始化为最大数,因为本题节点距离不会 接下来更新节点距离最小生成树的距离,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20231222102457.png) +![](../images/0053.寻宝-prim-05.png) 所有非生成树的节点距离最小生成树(节点1、节点2、节点3)的距离都已经跟新了。 @@ -188,7 +188,7 @@ minDist数组里的数值初始化为最大数,因为本题节点距离不会 继续选择一个距离最小生成树(节点1、节点2、节点3)最近的非生成树里的节点,为了巩固大家对minDist数组的理解,这里我再啰嗦一遍: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20231217213516.png) +![](../images/0053.寻宝-prim-06.png) **minDist数组是记录了所有非生成树节点距离生成树的最小距离**,所以从数组里我们能看出来,非生成树节点4和节点6距离生成树最近。 @@ -209,7 +209,7 @@ minDist数组里的数值初始化为最大数,因为本题节点距离不会 接下来更新节点距离最小生成树的距离,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20231222102618.png) +![](../images/0053.寻宝-prim-07.png) minDist数组已经更新了所有非生成树的节点距离最小生成树(节点1、节点2、节点3、节点4)的距离。 @@ -232,7 +232,7 @@ minDist数组已经更新了所有非生成树的节点距离最小生成树( 接下来更新节点距离最小生成树的距离,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20231222102646.png) +![](../images/0053.寻宝-prim-08.png) minDist数组已经更新了所有非生成树的节点距离最小生成树(节点1、节点2、节点3、节点4、节点5)的距离。 @@ -253,11 +253,11 @@ minDist数组已经更新了所有非生成树的节点距离最小生成树( 节点1、节点2、节点3、节点4、节点5、节点6算是最小生成树的节点,接下来更新节点距离最小生成树的距离,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20231222102732.png) +![](../images/0053.寻宝-prim-09.png) 这里就不在重复描述了,大家类推,最后,节点7加入生成树,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20231222102820.png) +![](../images/0053.寻宝-prim-10.png) ### 最后 @@ -478,7 +478,7 @@ int main() { 大家可以和我们本题最后生成的最小生成树的图去对比一下边的链接情况: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20231229115714.png) +![](../images/0053.寻宝-prim-11.png) 绿色的边是最小生成树,和我们的输出完全一致。 diff --git "a/problems/kamacoder/0054.\346\233\277\346\215\242\346\225\260\345\255\227.md" "b/problems/kamacoder/0054.\346\233\277\346\215\242\346\225\260\345\255\227.md" index f788d65ba7..ef3e5ccef5 100644 --- "a/problems/kamacoder/0054.\346\233\277\346\215\242\346\225\260\345\255\227.md" +++ "b/problems/kamacoder/0054.\346\233\277\346\215\242\346\225\260\345\255\227.md" @@ -29,11 +29,11 @@ 如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20231030165201.png) +![](../images/0054.替换数字-01.png) 然后从后向前替换数字字符,也就是双指针法,过程如下:i指向新长度的末尾,j指向旧长度的末尾。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20231030173058.png) +![](../images/0054.替换数字-02.png) 有同学问了,为什么要从后向前填充,从前向后填充不行么? diff --git "a/problems/kamacoder/0055.\345\217\263\346\227\213\345\255\227\347\254\246\344\270\262.md" "b/problems/kamacoder/0055.\345\217\263\346\227\213\345\255\227\347\254\246\344\270\262.md" index 2b32cb44d2..e0782b752f 100644 --- "a/problems/kamacoder/0055.\345\217\263\346\227\213\345\255\227\347\254\246\344\270\262.md" +++ "b/problems/kamacoder/0055.\345\217\263\346\227\213\345\255\227\347\254\246\344\270\262.md" @@ -40,18 +40,18 @@ fgabcde 本题中,我们需要将字符串右移n位,字符串相当于分成了两个部分,如果n为2,符串相当于分成了两个部分,如图: (length为字符串长度) -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20231106170143.png) +![](../images/0055.右旋字符串-01.png) -右移n位, 就是将第二段放在前面,第一段放在后面,先不考虑里面字符的顺序,是不是整体倒叙不就行了。如图: +右移n位, 就是将第二段放在前面,第一段放在后面,先不考虑里面字符的顺序,是不是整体倒序不就行了。如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20231106171557.png) +![](../images/0055.右旋字符串-02.png) -此时第一段和第二段的顺序是我们想要的,但里面的字符位置被我们倒叙,那么此时我们在把 第一段和第二段里面的字符再倒叙一把,这样字符顺序不就正确了。 如果: +此时第一段和第二段的顺序是我们想要的,但里面的字符位置被我们倒序,那么此时我们在把 第一段和第二段里面的字符再倒序一把,这样字符顺序不就正确了。 如果: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20231106172058.png) +![](../images/0055.右旋字符串-03.png) -其实,思路就是 通过 整体倒叙,把两段子串顺序颠倒,两个段子串里的的字符在倒叙一把,**负负得正**,这样就不影响子串里面字符的顺序了。 +其实,思路就是 通过 整体倒序,把两段子串顺序颠倒,两个段子串里的的字符在倒序一把,**负负得正**,这样就不影响子串里面字符的顺序了。 整体代码如下: @@ -80,7 +80,7 @@ int main() { 可以的,不过,要记得 控制好 局部反转的长度,如果先局部反转,那么先反转的子串长度就是 len - n,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20231106172534.png) +![](../images/0055.右旋字符串-04.png) 代码如下: diff --git "a/problems/kamacoder/0058.\345\214\272\351\227\264\345\222\214.md" "b/problems/kamacoder/0058.\345\214\272\351\227\264\345\222\214.md" index 23e7189a15..5a634f6144 100644 --- "a/problems/kamacoder/0058.\345\214\272\351\227\264\345\222\214.md" +++ "b/problems/kamacoder/0058.\345\214\272\351\227\264\345\222\214.md" @@ -93,7 +93,7 @@ int main() { 如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240627110604.png) +![](../images/0058.区间和-01.png) 如果,我们想统计,在vec数组上 下标 2 到下标 5 之间的累加和,那是不是就用 p[5] - p[1] 就可以了。 @@ -109,7 +109,7 @@ int main() { 如图所示: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240627111319.png) +![](../images/0058.区间和-02.png) `p[5] - p[1]` 就是 红色部分的区间和。 diff --git "a/problems/kamacoder/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-SPFA.md" "b/problems/kamacoder/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-SPFA.md" index 99986aaa2d..fcd4c2f374 100644 --- "a/problems/kamacoder/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-SPFA.md" +++ "b/problems/kamacoder/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I-SPFA.md" @@ -62,7 +62,7 @@ 给大家举一个例子: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240328104119.png) +![](../images/0094.城市间货物运输I-SPFA-01.png) 本图中,对所有边进行松弛,真正有效的松弛,只有松弛 边(节点1->节点2) 和 边(节点1->节点3) 。 @@ -97,7 +97,7 @@ 初始化,起点为节点1, 起点到起点的最短距离为0,所以minDist[1] 为 0。 将节点1 加入队列 (下次松弛从节点1开始) -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240411115555.png) +![](../images/0094.城市间货物运输I-SPFA-02.png) ------------ @@ -109,7 +109,7 @@ 将节点2、节点3 加入队列,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240411115544.png) +![](../images/0094.城市间货物运输I-SPFA-03.png) ----------------- @@ -124,7 +124,7 @@ 将节点4,节点5 加入队列,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240412110348.png) +![](../images/0094.城市间货物运输I-SPFA-04.png) -------------------- @@ -134,7 +134,7 @@ 因为没有从节点3作为出发点的边,所以这里就从队列里取出节点3就好,不用做其他操作,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240412110420.png) +![](../images/0094.城市间货物运输I-SPFA-05.png) ------------ @@ -147,7 +147,7 @@ 如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240412110445.png) +![](../images/0094.城市间货物运输I-SPFA-06.png) --------------- @@ -160,7 +160,7 @@ 如图,将节点3加入队列,因为节点6已经在队列里,所以不用重复添加 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240729161116.png) +![](../images/0094.城市间货物运输I-SPFA-07.png) 所以我们在加入队列的过程可以有一个优化,**用visited数组记录已经在队列里的元素,已经在队列的元素不用重复加入** @@ -174,7 +174,7 @@ 所以直接从队列中取出,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240411115424.png) +![](../images/0094.城市间货物运输I-SPFA-08.png) ---------- @@ -329,7 +329,7 @@ SPFA(队列优化版Bellman_ford) 在理论上 时间复杂度更胜一筹 如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240412111849.png) +![](../images/0094.城市间货物运输I-SPFA-09.png) 正权回路 就是有环,但环的总权值为正数。 diff --git "a/problems/kamacoder/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I.md" "b/problems/kamacoder/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I.md" index 2afc014b7e..753ead1152 100644 --- "a/problems/kamacoder/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I.md" +++ "b/problems/kamacoder/0094.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223I.md" @@ -46,7 +46,7 @@ 1 3 5 ``` -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240509200224.png) +![](../images/0094.城市间货物运输I-01.png) ## 思路 @@ -78,7 +78,7 @@ 这里我给大家举一个例子,每条边有起点、终点和边的权值。例如一条边,节点A 到 节点B 权值为value,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240327102620.png) +![](../images/0094.城市间货物运输I-02.png) minDist[B] 表示 到达B节点 最小权值,minDist[B] 有哪些状态可以推出来? @@ -127,7 +127,7 @@ if (minDist[B] > minDist[A] + value) minDist[B] = minDist[A] + value 如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240328104119.png) +![](../images/0094.城市间货物运输I-03.png) 其他节点对应的minDist初始化为max,因为我们要求最小距离,那么还没有计算过的节点 默认是一个最大数,这样才能更新最小距离。 @@ -150,36 +150,36 @@ if (minDist[B] > minDist[A] + value) minDist[B] = minDist[A] + value 边:节点5 -> 节点6,权值为-2 ,minDist[5] 还是默认数值max,所以不能基于 节点5 去更新节点6,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240329113537.png) +![](../images/0094.城市间货物运输I-04.png) (在复习一下,minDist[5] 表示起点到节点5的最短距离) 边:节点1 -> 节点2,权值为1 ,minDist[2] > minDist[1] + 1 ,更新 minDist[2] = minDist[1] + 1 = 0 + 1 = 1 ,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240329113703.png) +![](../images/0094.城市间货物运输I-05.png) 边:节点5 -> 节点3,权值为1 ,minDist[5] 还是默认数值max,所以不能基于节点5去更新节点3 如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240329113827.png) +![](../images/0094.城市间货物运输I-06.png) 边:节点2 -> 节点5,权值为2 ,minDist[5] > minDist[2] + 2 (经过上面的计算minDist[2]已经不是默认值,而是 1),更新 minDist[5] = minDist[2] + 2 = 1 + 2 = 3 ,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240329113927.png) +![](../images/0094.城市间货物运输I-07.png) 边:节点2 -> 节点4,权值为-3 ,minDist[4] > minDist[2] + (-3),更新 minDist[4] = minDist[2] + (-3) = 1 + (-3) = -2 ,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240329114036.png) +![](../images/0094.城市间货物运输I-08.png) 边:节点4 -> 节点6,权值为4 ,minDist[6] > minDist[4] + 4,更新 minDist[6] = minDist[4] + 4 = -2 + 4 = 2 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240329114120.png) +![](../images/0094.城市间货物运输I-09.png) 边:节点1 -> 节点3,权值为5 ,minDist[3] > minDist[1] + 5,更新 minDist[3] = minDist[1] + 5 = 0 + 5 = 5 ,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240329114324.png) +![](../images/0094.城市间货物运输I-10.png) -------- diff --git "a/problems/kamacoder/0095.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223II.md" "b/problems/kamacoder/0095.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223II.md" index a3896b8896..62abb1e8e9 100644 --- "a/problems/kamacoder/0095.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223II.md" +++ "b/problems/kamacoder/0095.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223II.md" @@ -78,7 +78,7 @@ circle 我们拿题目中示例来画一个图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240705161426.png) +![](../images/0095.城市间货物运输II-01.png) 图中 节点1 到 节点4 的最短路径是多少(题目中的最低运输成本) (注意边可以为负数的) @@ -86,7 +86,7 @@ circle 而图中有负权回路: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240402103712.png) +![](../images/0095.城市间货物运输II-02.png) 那么我们在负权回路中多绕一圈,我们的最短路径 是不是就更小了 (也就是更低的运输成本) diff --git "a/problems/kamacoder/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III.md" "b/problems/kamacoder/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III.md" index 0e13846d60..d75573f641 100644 --- "a/problems/kamacoder/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III.md" +++ "b/problems/kamacoder/0096.\345\237\216\345\270\202\351\227\264\350\264\247\347\211\251\350\277\220\350\276\223III.md" @@ -63,7 +63,7 @@ 本题是最多经过 k 个城市, 那么是 k + 1条边相连的节点。 这里可能有录友想不懂为什么是k + 1,来看这个图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240402115614.png) +![](../images/0096.城市间货物运输III-01.png) 图中,节点1 最多已经经过2个节点 到达节点4,那么中间是有多少条边呢,是 3 条边对吧。 @@ -195,7 +195,7 @@ int main() { 起点为节点1, 起点到起点的距离为0,所以 minDist[1] 初始化为0 ,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240409111940.png) +![](../images/0096.城市间货物运输III-02.png) 其他节点对应的minDist初始化为max,因为我们要求最小距离,那么还没有计算过的节点 默认是一个最大数,这样才能更新最小距离。 @@ -203,21 +203,21 @@ int main() { 边:节点1 -> 节点2,权值为-1 ,minDist[2] > minDist[1] + (-1),更新 minDist[2] = minDist[1] + (-1) = 0 - 1 = -1 ,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240409111914.png) +![](../images/0096.城市间货物运输III-03.png) 边:节点2 -> 节点3,权值为1 ,minDist[3] > minDist[2] + 1 ,更新 minDist[3] = minDist[2] + 1 = -1 + 1 = 0 ,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240409111903.png) +![](../images/0096.城市间货物运输III-04.png) 边:节点3 -> 节点1,权值为-1 ,minDist[1] > minDist[3] + (-1),更新 minDist[1] = 0 + (-1) = -1 ,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240409111849.png) +![](../images/0096.城市间货物运输III-05.png) 边:节点3 -> 节点4,权值为1 ,minDist[4] > minDist[3] + 1,更新 minDist[4] = 0 + 1 = 1 ,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20241018192042.png) +![](../images/0096.城市间货物运输III-06.png) 以上是对所有边进行的第一次松弛,最后 minDist数组为 :-1 -1 0 1 ,(从下标1算起) @@ -244,7 +244,7 @@ int main() { 在上面画图距离中,对所有边进行第一次松弛,在计算 边(节点2 -> 节点3) 的时候,更新了 节点3。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240409111903.png) +![](../images/0096.城市间货物运输III-07.png) 理论上来说节点3 应该在对所有边第二次松弛的时候才更新。 这因为当时是基于已经计算好的 节点2(minDist[2])来做计算了。 @@ -331,11 +331,11 @@ int main() { 所构成是图是一样的,都是如下的这个图,但给出的边的顺序是不一样的。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240410154340.png) +![](../images/0096.城市间货物运输III-08.png) 再用版本一的代码是运行一下,发现结果输出是 1, 是对的。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240410154940.png) +![](../images/0096.城市间货物运输III-09.png) 分明刚刚输出的结果是 -2,是错误的,怎么 一样的图,这次输出的结果就对了呢? @@ -345,7 +345,7 @@ int main() { 初始化: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240410155545.png) +![](../images/0096.城市间货物运输III-10.png) 边:节点3 -> 节点1,权值为-1 ,节点3还没有被计算过,节点1 不更新。 @@ -355,7 +355,7 @@ int main() { 边:节点1 -> 节点2,权值为 -1 ,minDist[2] > minDist[1] + (-1),更新 minDist[2] = 0 + (-1) = -1 ,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240410160046.png) +![](../images/0096.城市间货物运输III-11.png) 以上是对所有边 松弛一次的状态。 @@ -474,7 +474,7 @@ int main() { 但大家会发现,以上代码大家提交后,怎么耗时这么多? -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240418113308.png) +![](../images/0096.城市间货物运输III-12.png) 理论上,SPFA的时间复杂度不是要比 bellman_ford 更优吗? @@ -556,7 +556,7 @@ int main() { 以上代码提交后,耗时情况: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240418113952.png) +![](../images/0096.城市间货物运输III-13.png) 大家发现 依然远比 bellman_ford 的代码版本 耗时高。 @@ -581,11 +581,11 @@ dijkstra 是贪心的思路 每一次搜索都只会找距离源点最近的非 在以下这个图中,求节点1 到 节点7 最多经过2个节点 的最短路是多少呢? -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240508112249.png) +![](../images/0096.城市间货物运输III-14.png) 最短路显然是: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240508112416.png) +![](../images/0096.城市间货物运输III-15.png) 最多经过2个节点,也就是3条边相连的路线:节点1 -> 节点2 -> 节点6-> 节点7 @@ -593,24 +593,24 @@ dijkstra 是贪心的思路 每一次搜索都只会找距离源点最近的非 初始化如图所示: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240130115306.png) +![](../images/0096.城市间货物运输III-16.png) 找距离源点最近且没有被访问过的节点,先找节点1 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240130115421.png) +![](../images/0096.城市间货物运输III-17.png) 距离源点最近且没有被访问过的节点,找节点2: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240130121240.png) +![](../images/0096.城市间货物运输III-18.png) 距离源点最近且没有被访问过的节点,找到节点3: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240130120434.png) +![](../images/0096.城市间货物运输III-19.png) 距离源点最近且没有被访问过的节点,找到节点4: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240201105335.png) +![](../images/0096.城市间货物运输III-20.png) 此时最多经过2个节点的搜索就完毕了,但结果中minDist[7] (即节点7的结果)并没有被更。 diff --git "a/problems/kamacoder/0097.\345\260\217\346\230\216\351\200\233\345\205\254\345\233\255.md" "b/problems/kamacoder/0097.\345\260\217\346\230\216\351\200\233\345\205\254\345\233\255.md" index dfbd6aa9a8..8d39f74caa 100644 --- "a/problems/kamacoder/0097.\345\260\217\346\230\216\351\200\233\345\205\254\345\233\255.md" +++ "b/problems/kamacoder/0097.\345\260\217\346\230\216\351\200\233\345\205\254\345\233\255.md" @@ -155,7 +155,7 @@ grid[i][j][k] = m,表示 节点i 到 节点j 以[1...k] 集合为中间节点 grid数组是一个三维数组,那么我们初始化的数据在 i 与 j 构成的平层,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240425104247.png) +![](../images/0097.小明逛公园-01.png) 红色的 底部一层是我们初始化好的数据,注意:从三维角度去看初始化的数据很重要,下面我们在聊遍历顺序的时候还会再讲。 @@ -202,7 +202,7 @@ vector>> grid(n + 1, vector>(n + 1, vector(n 所以遍历k 的for循环一定是在最外面,这样才能一层一层去遍历。如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240424120109.png) +![](../images/0097.小明逛公园-02.png) 至于遍历 i 和 j 的话,for 循环的先后顺序无所谓。 @@ -234,7 +234,7 @@ for (int i = 1; i <= n; i++) { 此时就遍历了 j 与 k 形成一个平面,i 则是纵面,那遍历 就是这样的: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240424115827.png) +![](../images/0097.小明逛公园-03.png) 而我们初始化的数据 是 k 为0, i 和 j 形成的平面做初始化,如果以 k 和 j 形成的平面去一层一层遍历,就造成了 递推公式 用不上上一轮计算的结果,从而导致结果不对(初始化的部分是 i 与j 形成的平面,在初始部分有讲过)。 @@ -253,7 +253,7 @@ for (int i = 1; i <= n; i++) { 就是图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240424120942.png) +![](../images/0097.小明逛公园-04.png) 求节点1 到 节点 2 的最短距离,运行结果是 10 ,但正确的结果很明显是3。 @@ -267,7 +267,7 @@ for (int i = 1; i <= n; i++) { 而遍历k 的for循环如果放在中间呢,同样是 j 与k 行程一个平面,i 是纵面,遍历的也是这样: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240424115827.png) +![](../images/0097.小明逛公园-05.png) 同样不能完全用上初始化 和 上一层计算的结果。 @@ -283,7 +283,7 @@ for (int i = 1; i <= n; i++) { 图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240425112636.png) +![](../images/0097.小明逛公园-06.png) 求 节点1 到节点3 的最短距离,如果k循环放中间,程序的运行结果是 -1,也就是不能到达节点3。 diff --git "a/problems/kamacoder/0098.\346\211\200\346\234\211\345\217\257\350\276\276\350\267\257\345\276\204.md" "b/problems/kamacoder/0098.\346\211\200\346\234\211\345\217\257\350\276\276\350\267\257\345\276\204.md" index 4df53b448f..652e073528 100644 --- "a/problems/kamacoder/0098.\346\211\200\346\234\211\345\217\257\350\276\276\350\267\257\345\276\204.md" +++ "b/problems/kamacoder/0098.\346\211\200\346\234\211\345\217\257\350\276\276\350\267\257\345\276\204.md" @@ -43,7 +43,7 @@ 提示信息 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240514103953.png) +![](../images/0098.所有可达路径-01.png) 用例解释: @@ -141,7 +141,7 @@ while (m--) { 我在 [图论理论基础篇](./图论理论基础.md) 举了一个例子: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240223103713.png) +![](../images/0098.所有可达路径-02.png) 这里表达的图是: diff --git "a/problems/kamacoder/0099.\345\262\233\345\261\277\347\232\204\346\225\260\351\207\217\345\271\277\346\220\234.md" "b/problems/kamacoder/0099.\345\262\233\345\261\277\347\232\204\346\225\260\351\207\217\345\271\277\346\220\234.md" index f8c36a00a8..8afbbc47a5 100644 --- "a/problems/kamacoder/0099.\345\262\233\345\261\277\347\232\204\346\225\260\351\207\217\345\271\277\346\220\234.md" +++ "b/problems/kamacoder/0099.\345\262\233\345\261\277\347\232\204\346\225\260\351\207\217\345\271\277\346\220\234.md" @@ -35,7 +35,7 @@ 提示信息 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240516111613.png) +![](../images/0099.岛屿的数量广搜-01.png) 根据测试案例中所展示,岛屿数量共有 3 个,所以输出 3。 @@ -50,7 +50,7 @@ 也就是说斜角度链接是不算了, 例如示例二,是三个岛屿,如图: -![图一](https://code-thinking-1253855093.file.myqcloud.com/pics/20220726094200.png) +![图一](../images/0099.岛屿的数量广搜-02.png) 这道题题目是 DFS,BFS,并查集,基础题目。 @@ -72,7 +72,7 @@ 如果从队列拿出节点,再去标记这个节点走过,就会发生下图所示的结果,会导致很多节点重复加入队列。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20250124094043.png) +![](../images/0099.岛屿的数量广搜-03.png) 超时写法 (从队列中取出节点再标记,注意代码注释的地方) diff --git "a/problems/kamacoder/0099.\345\262\233\345\261\277\347\232\204\346\225\260\351\207\217\346\267\261\346\220\234.md" "b/problems/kamacoder/0099.\345\262\233\345\261\277\347\232\204\346\225\260\351\207\217\346\267\261\346\220\234.md" index 5a21f387fc..7c593af02a 100644 --- "a/problems/kamacoder/0099.\345\262\233\345\261\277\347\232\204\346\225\260\351\207\217\346\267\261\346\220\234.md" +++ "b/problems/kamacoder/0099.\345\262\233\345\261\277\347\232\204\346\225\260\351\207\217\346\267\261\346\220\234.md" @@ -36,7 +36,7 @@ 提示信息 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240516111613.png) +![](../images/0099.岛屿的数量深搜-01.png) 根据测试案例中所展示,岛屿数量共有 3 个,所以输出 3。 @@ -50,7 +50,7 @@ 也就是说斜角度链接是不算了, 例如示例二,是三个岛屿,如图: -![图一](https://code-thinking-1253855093.file.myqcloud.com/pics/20220726094200.png) +![图一](../images/0099.岛屿的数量深搜-02.png) 这道题题目是 DFS,BFS,并查集,基础题目。 diff --git "a/problems/kamacoder/0100.\345\262\233\345\261\277\347\232\204\346\234\200\345\244\247\351\235\242\347\247\257.md" "b/problems/kamacoder/0100.\345\262\233\345\261\277\347\232\204\346\234\200\345\244\247\351\235\242\347\247\257.md" index 170c0917aa..fc48b77546 100644 --- "a/problems/kamacoder/0100.\345\262\233\345\261\277\347\232\204\346\234\200\345\244\247\351\235\242\347\247\257.md" +++ "b/problems/kamacoder/0100.\345\262\233\345\261\277\347\232\204\346\234\200\345\244\247\351\235\242\347\247\257.md" @@ -33,7 +33,7 @@ 提示信息 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240517103410.png) +![](../images/0100.岛屿的最大面积-01.png) 样例输入中,岛屿的最大面积为 4。 @@ -48,7 +48,7 @@ 也就是说斜角度链接是不算了, 例如示例二,是三个岛屿,如图: -![图一](https://code-thinking-1253855093.file.myqcloud.com/pics/20220726094200.png) +![图一](../images/0100.岛屿的最大面积-02.png) 这道题目也是 dfs bfs基础类题目,就是搜索每个岛屿上“1”的数量,然后取一个最大的。 diff --git "a/problems/kamacoder/0101.\345\255\244\345\262\233\347\232\204\346\200\273\351\235\242\347\247\257.md" "b/problems/kamacoder/0101.\345\255\244\345\262\233\347\232\204\346\200\273\351\235\242\347\247\257.md" index 43ac8ec96d..e75c3f03ee 100644 --- "a/problems/kamacoder/0101.\345\255\244\345\262\233\347\232\204\346\200\273\351\235\242\347\247\257.md" +++ "b/problems/kamacoder/0101.\345\255\244\345\262\233\347\232\204\346\200\273\351\235\242\347\247\257.md" @@ -37,7 +37,7 @@ 提示信息: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240517105557.png) +![](../images/0101.孤岛的总面积-01.png) 在矩阵中心部分的岛屿,因为没有任何一个单元格接触到矩阵边缘,所以该岛屿属于孤岛,总面积为 1。 @@ -54,11 +54,11 @@ 如图,在遍历地图周围四个边,靠地图四边的陆地,都为绿色, -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20220830104632.png) +![](../images/0101.孤岛的总面积-02.png) 在遇到地图周边陆地的时候,将1都变为0,此时地图为这样: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20220830104651.png) +![](../images/0101.孤岛的总面积-03.png) 然后我们再去遍历这个地图,遇到有陆地的地方,去采用深搜或者广搜,边统计所有陆地。 diff --git "a/problems/kamacoder/0102.\346\262\211\346\262\241\345\255\244\345\262\233.md" "b/problems/kamacoder/0102.\346\262\211\346\262\241\345\255\244\345\262\233.md" index 5e211cd09c..e115495f37 100644 --- "a/problems/kamacoder/0102.\346\262\211\346\262\241\345\255\244\345\262\233.md" +++ "b/problems/kamacoder/0102.\346\262\211\346\262\241\345\255\244\345\262\233.md" @@ -43,11 +43,11 @@ 提示信息: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240517110932.png) +![](../images/0102.沉没孤岛-01.png) 将孤岛沉没: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240517110953.png) +![](../images/0102.沉没孤岛-02.png) 数据范围: @@ -73,7 +73,7 @@ 如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240517113813.png) +![](../images/0102.沉没孤岛-03.png) 整体C++代码如下,以下使用dfs实现,其实遍历方式dfs,bfs都是可以的。 diff --git "a/problems/kamacoder/0103.\346\260\264\346\265\201\351\227\256\351\242\230.md" "b/problems/kamacoder/0103.\346\260\264\346\265\201\351\227\256\351\242\230.md" index 1c646b1c03..02be9e46b6 100644 --- "a/problems/kamacoder/0103.\346\260\264\346\265\201\351\227\256\351\242\230.md" +++ "b/problems/kamacoder/0103.\346\260\264\346\265\201\351\227\256\351\242\230.md" @@ -48,7 +48,7 @@ 提示信息: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240517115816.png) +![](../images/0103.水流问题-01.png) 图中的蓝色方块上的雨水既能流向第一组边界,也能流向第二组边界。所以最终答案为所有蓝色方块的坐标。 @@ -166,11 +166,11 @@ int main() { 从第一组边界边上节点出发,如图: (图中并没有把所有遍历的方向都画出来,只画关键部分) -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20250304174747.png) +![](../images/0103.水流问题-02.png) 从第二组边界上节点出发,如图: (图中并没有把所有遍历的方向都画出来,只画关键部分) -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20250304174801.png) +![](../images/0103.水流问题-03.png) 最后,我们得到两个方向交界的这些节点,就是我们最后要求的节点。 diff --git "a/problems/kamacoder/0104.\345\273\272\351\200\240\346\234\200\345\244\247\345\262\233\345\261\277.md" "b/problems/kamacoder/0104.\345\273\272\351\200\240\346\234\200\345\244\247\345\262\233\345\261\277.md" index 5f091779d1..69d264a7bf 100644 --- "a/problems/kamacoder/0104.\345\273\272\351\200\240\346\234\200\345\244\247\345\262\233\345\261\277.md" +++ "b/problems/kamacoder/0104.\345\273\272\351\200\240\346\234\200\345\244\247\345\262\233\345\261\277.md" @@ -35,12 +35,12 @@ 提示信息 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240522154055.png) +![](../images/0104.建造最大岛屿-01.png) 对于上面的案例,有两个位置可将 0 变成 1,使得岛屿的面积最大,即 6。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240522154110.png) +![](../images/0104.建造最大岛屿-02.png) 数据范围: @@ -70,11 +70,11 @@ 拿如下地图的岛屿情况来举例: (1为陆地) -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20220829104834.png) +![](../images/0104.建造最大岛屿-03.png) 第一步,则遍历地图,并将岛屿的编号和面积都统计好,过程如图所示: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20220829105644.png) +![](../images/0104.建造最大岛屿-04.png) 本过程代码如下: @@ -121,7 +121,7 @@ int largestIsland(vector>& grid) { 第二步过程如图所示: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20220829105249.png) +![](../images/0104.建造最大岛屿-05.png) 也就是遍历每一个0的方格,并统计其相邻岛屿面积,最后取一个最大值。 diff --git "a/problems/kamacoder/0105.\346\234\211\345\220\221\345\233\276\347\232\204\345\256\214\345\205\250\345\217\257\350\276\276\346\200\247.md" "b/problems/kamacoder/0105.\346\234\211\345\220\221\345\233\276\347\232\204\345\256\214\345\205\250\345\217\257\350\276\276\346\200\247.md" index 6901c655e4..32282a8632 100644 --- "a/problems/kamacoder/0105.\346\234\211\345\220\221\345\233\276\347\232\204\345\256\214\345\205\250\345\217\257\350\276\276\346\200\247.md" +++ "b/problems/kamacoder/0105.\346\234\211\345\220\221\345\233\276\347\232\204\345\256\214\345\205\250\345\217\257\350\276\276\346\200\247.md" @@ -33,7 +33,7 @@ 【提示信息】 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240522174707.png) +![](../images/0105.有向图的完全可达性-01.png) 从 1 号节点可以到达任意节点,输出 1。 @@ -48,7 +48,7 @@ 接下来我们再画一个图,从图里可以直观看出来,节点6 是 不能到达节点1 的 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240522175451.png) +![](../images/0105.有向图的完全可达性-02.png) 这就很容易让我们想起岛屿问题,只要发现独立的岛,就是不可到达的。 diff --git "a/problems/kamacoder/0106.\345\262\233\345\261\277\347\232\204\345\221\250\351\225\277.md" "b/problems/kamacoder/0106.\345\262\233\345\261\277\347\232\204\345\221\250\351\225\277.md" index 91a1a438c6..36416db82e 100644 --- "a/problems/kamacoder/0106.\345\262\233\345\261\277\347\232\204\345\221\250\351\225\277.md" +++ "b/problems/kamacoder/0106.\345\262\233\345\261\277\347\232\204\345\221\250\351\225\277.md" @@ -37,7 +37,7 @@ 提示信息 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240524115244.png) +![](../images/0106.岛屿的周长-01.png) 岛屿的周长为 14。 @@ -57,14 +57,14 @@ 如果该陆地上下左右的空格是有水域,则说明是一条边,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240524115933.png) +![](../images/0106.岛屿的周长-02.png) 陆地的右边空格是水域,则说明找到一条边。 如果该陆地上下左右的空格出界了,则说明是一条边,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240524120105.png) +![](../images/0106.岛屿的周长-03.png) 该陆地的下边空格出界了,则说明找到一条边。 @@ -114,7 +114,7 @@ int main() { 因为有一对相邻两个陆地,边的总数就要减2,如图红线部分,有两个陆地相邻,总边数就要减2 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240524120855.png) +![](../images/0106.岛屿的周长-04.png) 那么只需要在计算出相邻岛屿的数量就可以了,相邻岛屿数量为cover。 diff --git "a/problems/kamacoder/0107.\345\257\273\346\211\276\345\255\230\345\234\250\347\232\204\350\267\257\345\276\204.md" "b/problems/kamacoder/0107.\345\257\273\346\211\276\345\255\230\345\234\250\347\232\204\350\267\257\345\276\204.md" index 779907c8fd..757621a419 100644 --- "a/problems/kamacoder/0107.\345\257\273\346\211\276\345\255\230\345\234\250\347\232\204\350\267\257\345\276\204.md" +++ "b/problems/kamacoder/0107.\345\257\273\346\211\276\345\255\230\345\234\250\347\232\204\350\267\257\345\276\204.md" @@ -40,7 +40,7 @@ 提示信息 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240527104432.png) +![](../images/0107.寻找存在的路径-01.png) 数据范围: diff --git "a/problems/kamacoder/0108.\345\206\227\344\275\231\350\277\236\346\216\245.md" "b/problems/kamacoder/0108.\345\206\227\344\275\231\350\277\236\346\216\245.md" index ae247ac025..05ca5b8c9f 100644 --- "a/problems/kamacoder/0108.\345\206\227\344\275\231\350\277\236\346\216\245.md" +++ "b/problems/kamacoder/0108.\345\206\227\344\275\231\350\277\236\346\216\245.md" @@ -9,11 +9,11 @@ 有一个图,它是一棵树,他是拥有 n 个节点(节点编号1到n)和 n - 1 条边的连通无环无向图(其实就是一个线形图),如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240905163122.png) +![](../images/0108.冗余连接-01.png) 现在在这棵树上的基础上,添加一条边(依然是n个节点,但有n条边),使这个图变成了有环图,如图 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240905164721.png) +![](../images/0108.冗余连接-02.png) 先请你找出冗余边,删除后,使该图可以重新变成一棵树。 @@ -42,7 +42,7 @@ 提示信息 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240527110320.png) +![](../images/0108.冗余连接-03.png) 图中的 1 2,2 3,1 3 等三条边在删除后都能使原图变为一棵合法的树。但是 1 3 由于是标准输入里最后出现的那条边,所以输出结果为 1 3 @@ -69,13 +69,13 @@ 如图所示,节点A 和节点 B 不在同一个集合,那么就可以将两个 节点连在一起。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20230604104720.png) +![](../images/0108.冗余连接-04.png) 如果边的两个节点已经出现在同一个集合里,说明着边的两个节点已经连在一起了,再加入这条边一定就出现环了。 如图所示: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20230604104330.png) +![](../images/0108.冗余连接-05.png) 已经判断 节点A 和 节点B 在在同一个集合(同一个根),如果将 节点A 和 节点B 连在一起就一定会出现环。 @@ -157,7 +157,7 @@ int main() { 图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240527110320.png) +![](../images/0108.冗余连接-06.png) 输出示例 diff --git "a/problems/kamacoder/0109.\345\206\227\344\275\231\350\277\236\346\216\245II.md" "b/problems/kamacoder/0109.\345\206\227\344\275\231\350\277\236\346\216\245II.md" index 070bc68500..95ae01369d 100644 --- "a/problems/kamacoder/0109.\345\206\227\344\275\231\350\277\236\346\216\245II.md" +++ "b/problems/kamacoder/0109.\345\206\227\344\275\231\350\277\236\346\216\245II.md" @@ -9,11 +9,11 @@ 有一种有向树,该树只有一个根节点,所有其他节点都是该根节点的后继。该树除了根节点之外的每一个节点都有且只有一个父节点,而根节点没有父节点。有向树拥有 n 个节点和 n - 1 条边。如图:  - + 现在有一个有向图,有向图是在有向树中的两个没有直接链接的节点中间添加一条有向边。如图: - + 输入一个有向图,该图由一个有着 n 个节点(节点编号 从 1 到 n),n 条边,请返回一条可以删除的边,使得删除该条边之后该有向图可以被当作一颗有向树。 @@ -42,7 +42,7 @@ 提示信息 - + 在删除 2 3 后有向图可以变为一棵合法的有向树,所以输出 2 3 @@ -64,13 +64,13 @@ 如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240527115807.png) +![](../images/0109.冗余连接II-04.png) 找到了节点3 的入度为2,删 1 -> 3 或者 2 -> 3 。选择删顺序靠后便可。 但 入度为2 还有一种情况,情况二,只能删特定的一条边,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240527151456.png) +![](../images/0109.冗余连接II-05.png) 节点3 的入度为 2,但在删除边的时候,只能删 这条边(节点1 -> 节点3),如果删这条边(节点4 -> 节点3),那么删后本图也不是有向树了(因为找不到根节点)。 @@ -81,7 +81,7 @@ 如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240527120531.png) +![](../images/0109.冗余连接II-06.png) 对于情况三,删掉构成环的边就可以了。 diff --git "a/problems/kamacoder/0110.\345\255\227\347\254\246\344\270\262\346\216\245\351\276\231.md" "b/problems/kamacoder/0110.\345\255\227\347\254\246\344\270\262\346\216\245\351\276\231.md" index 5f11e4fbfa..4a9940731b 100644 --- "a/problems/kamacoder/0110.\345\255\227\347\254\246\344\270\262\346\216\245\351\276\231.md" +++ "b/problems/kamacoder/0110.\345\255\227\347\254\246\344\270\262\346\216\245\351\276\231.md" @@ -57,7 +57,7 @@ yhn 2 <= N <= 500

- +

@@ -65,7 +65,7 @@ yhn 以示例1为例,从这个图中可以看出 abc 到 def的路线 不止一条,但最短的一条路径上是4个节点。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240529121038.png) +![](../images/0110.字符串接龙-02.png) 本题只需要求出最短路径的长度就可以了,不用找出具体路径。 diff --git "a/problems/kamacoder/0117.\350\275\257\344\273\266\346\236\204\345\273\272.md" "b/problems/kamacoder/0117.\350\275\257\344\273\266\346\236\204\345\273\272.md" index 58c1776304..638f94933b 100644 --- "a/problems/kamacoder/0117.\350\275\257\344\273\266\346\236\204\345\273\272.md" +++ "b/problems/kamacoder/0117.\350\275\257\344\273\266\346\236\204\345\273\272.md" @@ -39,7 +39,7 @@ 文件依赖关系如下: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240510192157.png) +![](../images/0117.软件构建-01.png) 所以,文件处理的顺序除了示例中的顺序,还存在 @@ -104,7 +104,7 @@ 以题目中示例为例如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240510110836.png) +![](../images/0117.软件构建-02.png) 做拓扑排序的话,如果肉眼去找开头的节点,一定能找到 节点0 吧,都知道要从节点0 开始。 @@ -135,17 +135,17 @@ 1、找到入度为0 的节点,加入结果集 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240510113110.png) +![](../images/0117.软件构建-03.png) 2、将该节点从图中移除 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240510113142.png) +![](../images/0117.软件构建-04.png) ---------------- 1、找到入度为0 的节点,加入结果集 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240510113345.png) +![](../images/0117.软件构建-05.png) 这里大家会发现,节点1 和 节点2 入度都为0, 选哪个呢? @@ -153,19 +153,19 @@ 2、将该节点从图中移除 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240510113640.png) +![](../images/0117.软件构建-06.png) --------------- 1、找到入度为0 的节点,加入结果集 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240510113853.png) +![](../images/0117.软件构建-07.png) 节点2 和 节点3 入度都为0,选哪个都行,这里选节点2 2、将该节点从图中移除 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240510114004.png) +![](../images/0117.软件构建-08.png) -------------- @@ -177,7 +177,7 @@ 如果有 有向环怎么办呢?例如这个图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240510115115.png) +![](../images/0117.软件构建-09.png) 这个图,我们只能将入度为0 的节点0 接入结果集。 @@ -252,13 +252,13 @@ while (que.size()) { 如果这里不理解,看上面的模拟过程第一步: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240510113110.png) +![](../images/0117.软件构建-10.png) 这事节点1 和 节点2 的入度为 1。 将节点0删除后,图为这样: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240510113142.png) +![](../images/0117.软件构建-11.png) 那么 节点0 作为出发点 所连接的节点的入度 就都做了 减一 的操作。 diff --git "a/problems/kamacoder/0126.\351\252\221\345\243\253\347\232\204\346\224\273\345\207\273astar.md" "b/problems/kamacoder/0126.\351\252\221\345\243\253\347\232\204\346\224\273\345\207\273astar.md" index 8ad3264433..c099afd8c5 100644 --- "a/problems/kamacoder/0126.\351\252\221\345\243\253\347\232\204\346\224\273\345\207\273astar.md" +++ "b/problems/kamacoder/0126.\351\252\221\345\243\253\347\232\204\346\224\273\345\207\273astar.md" @@ -9,7 +9,7 @@ 骑士移动规则如图,红色是起始位置,黄色是骑士可以走的地方。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240626104833.png) +![](../images/0126.骑士的攻击astar-01.png) 棋盘大小 1000 x 1000(棋盘的 x 和 y 坐标均在 [1, 1000] 区间内,包含边界) @@ -108,7 +108,7 @@ int main() 我们来看一下广搜的搜索过程,如图,红色是起点,绿色是终点,黄色是要遍历的点,最后从 起点 找到 达到终点的最短路径是棕色。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240611143712.png) +![](../images/0126.骑士的攻击astar-02.png) 可以看出 广搜中,做了很多无用的遍历, 黄色的格子是广搜遍历到的点。 @@ -131,11 +131,11 @@ Astar 是一种 广搜的改良版。 有的是 Astar是 dijkstra 的改良版 在BFS中,我们想搜索,从起点到终点的最短路径,要一层一层去遍历。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240611143712.png) +![](../images/0126.骑士的攻击astar-03.png) 如果 使用A * 的话,其搜索过程是这样的,如图,图中着色的都是我们要遍历的点。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240611195223.png) +![](../images/0126.骑士的攻击astar-04.png) (上面两图中 最短路长度都是8,只是走的方式不同而已) diff --git "a/problems/kamacoder/\345\233\276\350\256\272\345\271\266\346\237\245\351\233\206\347\220\206\350\256\272\345\237\272\347\241\200.md" "b/problems/kamacoder/\345\233\276\350\256\272\345\271\266\346\237\245\351\233\206\347\220\206\350\256\272\345\237\272\347\241\200.md" index e463b95600..42f287fbf2 100644 --- "a/problems/kamacoder/\345\233\276\350\256\272\345\271\266\346\237\245\351\233\206\347\220\206\350\256\272\345\237\272\347\241\200.md" +++ "b/problems/kamacoder/\345\233\276\350\256\272\345\271\266\346\237\245\351\233\206\347\220\206\350\256\272\345\237\272\347\241\200.md" @@ -105,13 +105,13 @@ bool isSame(int u, int v) { 搜索过程像是一个多叉树中从叶子到根节点的过程,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20230602102619.png) +![](../images/图论并查集理论基础-01.png) 如果这棵多叉树高度很深的话,每次find函数 去寻找根的过程就要递归很多次。 我们的目的只需要知道这些节点在同一个根下就可以,所以对这棵多叉树的构造只需要这样就可以了,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20230602103040.png) +![](../images/图论并查集理论基础-02.png) 除了根节点其他所有节点都挂载根节点下,这样我们在寻根的时候就很快,只需要一步, @@ -226,7 +226,7 @@ join(3, 2); 此时构成的图是这样的: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20230525111307.png) +![](../images/图论并查集理论基础-03.png) 此时问 1,3是否在同一个集合,我们调用 `join(1, 2); join(3, 2);` 很明显本意要表示 1,3是在同一个集合。 @@ -256,7 +256,7 @@ join(3, 2); 构成的图是这样的: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20230525112101.png) +![](../images/图论并查集理论基础-04.png) 因为在join函数里,我们有find函数进行寻根的过程,这样就保证元素 1,2,3在这个有向图里是强连通的。 @@ -275,12 +275,12 @@ join(3, 2); 1、`join(1, 8);` -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20231122112727.png) +![](../images/图论并查集理论基础-05.png) 2、`join(3, 8);` -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20231122113857.png) +![](../images/图论并查集理论基础-06.png) 有录友可能想,`join(3, 8)` 在图中为什么 将 元素1 连向元素 3 而不是将 元素 8 连向 元素 3 呢? @@ -288,12 +288,12 @@ join(3, 2); 3、`join(1, 7);` -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20231122114108.png) +![](../images/图论并查集理论基础-07.png) 4、`join(8, 5);` -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20231122114847.png) +![](../images/图论并查集理论基础-08.png) 这里8的根是3,那么 5 应该指向 8 的根 3,这里的原因,我们在上面「常见误区」已经讲过了。 但 为什么 图中 8 又直接指向了 3 了呢? @@ -310,11 +310,11 @@ int find(int u) { 5、`join(2, 9);` -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20231122115000.png) +![](../images/图论并查集理论基础-09.png) 6、`join(6, 9);` -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20231122115404.png) +![](../images/图论并查集理论基础-10.png) 这里为什么是 2 指向了 6,因为 9的根为 2,所以用2指向6。 @@ -347,13 +347,13 @@ rank表示树的高度,即树中结点层次的最大值。 例如两个集合(多叉树)需要合并,如图所示: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20230602172250.png) +![](../images/图论并查集理论基础-11.png) 树1 rank 为2,树2 rank 为 3。那么合并两个集合,是 树1 合入 树2,还是 树2 合入 树1呢? 我们来看两个不同方式合入的效果。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20230602172933.png) +![](../images/图论并查集理论基础-12.png) 这里可以看出,树2 合入 树1 会导致整棵树的高度变的更高,而 树1 合入 树2 整棵树的高度 和 树2 保持一致。 diff --git "a/problems/kamacoder/\345\233\276\350\256\272\345\271\277\346\220\234\347\220\206\350\256\272\345\237\272\347\241\200.md" "b/problems/kamacoder/\345\233\276\350\256\272\345\271\277\346\220\234\347\220\206\350\256\272\345\237\272\347\241\200.md" index d791d2c0ff..7a03ca9ada 100644 --- "a/problems/kamacoder/\345\233\276\350\256\272\345\271\277\346\220\234\347\220\206\350\256\272\345\237\272\347\241\200.md" +++ "b/problems/kamacoder/\345\233\276\350\256\272\345\271\277\346\220\234\347\220\206\350\256\272\345\237\272\347\241\200.md" @@ -18,11 +18,11 @@ 我们用一个方格地图,假如每次搜索的方向为 上下左右(不包含斜上方),那么给出一个start起始位置,那么BFS就是从四个方向走出第一步。 -![图一](https://code-thinking-1253855093.file.myqcloud.com/pics/20220825104505.png) +![图一](../images/图论广搜理论基础-01.png) 如果加上一个end终止位置,那么使用BFS的搜索过程如图所示: -![图二](https://code-thinking-1253855093.file.myqcloud.com/pics/20220825102653.png) +![图二](../images/图论广搜理论基础-02.png) 我们从图中可以看出,从start起点开始,是一圈一圈,向外搜索,方格编号1为第一步遍历的节点,方格编号2为第二步遍历的节点,第四步的时候我们找到终止点end。 @@ -30,7 +30,7 @@ 而且地图还可以有障碍,如图所示: -![图三](https://code-thinking-1253855093.file.myqcloud.com/pics/20220825103900.png) +![图三](../images/图论广搜理论基础-03.png) 在第五步,第六步 我只把关键的节点染色了,其他方向周边没有去染色,大家只要关注关键地方染色的逻辑就可以。 diff --git "a/problems/kamacoder/\345\233\276\350\256\272\346\267\261\346\220\234\347\220\206\350\256\272\345\237\272\347\241\200.md" "b/problems/kamacoder/\345\233\276\350\256\272\346\267\261\346\220\234\347\220\206\350\256\272\345\237\272\347\241\200.md" index ce3dbbdbe7..1a47ce69c4 100644 --- "a/problems/kamacoder/\345\233\276\350\256\272\346\267\261\346\220\234\347\220\206\350\256\272\345\237\272\347\241\200.md" +++ "b/problems/kamacoder/\345\233\276\350\256\272\346\267\261\346\220\234\347\220\206\350\256\272\345\237\272\347\241\200.md" @@ -28,29 +28,29 @@ 如图一,是一个无向图,我们要搜索从节点1到节点6的所有路径。 -![图一](https://code-thinking-1253855093.file.myqcloud.com/pics/20220707093643.png) +![图一](../images/图论深搜理论基础-01.png) 那么dfs搜索的第一条路径是这样的: (假设第一次延默认方向,就找到了节点6),图二 -![图二](https://code-thinking-1253855093.file.myqcloud.com/pics/20220707093807.png) +![图二](../images/图论深搜理论基础-02.png) 此时我们找到了节点6,(遇到黄河了,是不是应该回头了),那么应该再去搜索其他方向了。 如图三: -![图三](https://code-thinking-1253855093.file.myqcloud.com/pics/20220707094011.png) +![图三](../images/图论深搜理论基础-03.png) 路径2撤销了,改变了方向,走路径3(红色线), 接着也找到终点6。 那么撤销路径2,改为路径3,在dfs中其实就是回溯的过程(这一点很重要,很多录友不理解dfs代码中回溯是用来干什么的) 又找到了一条从节点1到节点6的路径,又到黄河了,此时再回头,下图图四中,路径4撤销(回溯的过程),改为路径5。 -![图四](https://code-thinking-1253855093.file.myqcloud.com/pics/20220707094322.png) +![图四](../images/图论深搜理论基础-04.png) 又找到了一条从节点1到节点6的路径,又到黄河了,此时再回头,下图图五,路径6撤销(回溯的过程),改为路径7,路径8 和 路径7,路径9, 结果发现死路一条,都走到了自己走过的节点。 -![图五](https://code-thinking-1253855093.file.myqcloud.com/pics/20220707094813.png) +![图五](../images/图论深搜理论基础-05.png) 那么节点2所连接路径和节点3所链接的路径 都走过了,撤销路径只能向上回退,去选择撤销当初节点4的选择,也就是撤销路径5,改为路径10 。 如图图六: -![图六](https://code-thinking-1253855093.file.myqcloud.com/pics/20220707095232.png) +![图六](../images/图论深搜理论基础-06.png) 上图演示中,其实我并没有把 所有的 从节点1 到节点6的dfs(深度优先搜索)的过程都画出来,那样太冗余了,但 已经把dfs 关键的地方都涉及到了,关键就两点: @@ -180,7 +180,7 @@ for (选择:本节点所连接的其他节点) { 如图七所示, 路径2 已经走到了 目的地节点6,那么 路径2 是如何撤销,然后改为 路径3呢? 其实这就是 回溯的过程,撤销路径2,走换下一个方向。 -![图七](https://code-thinking-1253855093.file.myqcloud.com/pics/20220708093544.png) +![图七](../images/图论深搜理论基础-07.png) ## 总结 diff --git "a/problems/kamacoder/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200.md" "b/problems/kamacoder/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200.md" index 84f693a00b..299395caa9 100644 --- "a/problems/kamacoder/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200.md" +++ "b/problems/kamacoder/\345\233\276\350\256\272\347\220\206\350\256\272\345\237\272\347\241\200.md" @@ -17,15 +17,15 @@ 有向图是指 图中边是有方向的: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240510195737.png) +![](../images/图论理论基础-01.png) 无向图是指 图中边没有方向: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240510195451.png) +![](../images/图论理论基础-02.png) 加权有向图,就是图中边是有权值的,例如: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240510195821.png) +![](../images/图论理论基础-03.png) 加权无向图也是同理。 @@ -35,7 +35,7 @@ 例如,该无向图中,节点4的度为5,节点6的度为3。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240511115029.png) +![](../images/图论理论基础-04.png) 在有向图中,每个节点有出度和入度。 @@ -45,7 +45,7 @@ 例如,该有向图中,节点3的入度为2,出度为1,节点1的入度为0,出度为2。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240511115235.png) +![](../images/图论理论基础-05.png) ## 连通性 @@ -56,11 +56,11 @@ 在无向图中,任何两个节点都是可以到达的,我们称之为连通图 ,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240511102351.png) +![](../images/图论理论基础-06.png) 如果有节点不能到达其他节点,则为非连通图,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240511102449.png) +![](../images/图论理论基础-07.png) 节点1 不能到达节点4。 @@ -72,7 +72,7 @@ 我们来看这个有向图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240511104531.png) +![](../images/图论理论基础-08.png) 这个图是强连通图吗? @@ -82,7 +82,7 @@ 下面这个有向图才是强连通图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240511113101.png) +![](../images/图论理论基础-09.png) ### 连通分量 @@ -91,7 +91,7 @@ 只看概念大家可能不理解,我来画个图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240511111559.png) +![](../images/图论理论基础-10.png) 该无向图中 节点1、节点2、节点5 构成的子图就是 该无向图中的一个连通分量,该子图所有节点都是相互可达到的。 @@ -111,7 +111,7 @@ 如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240511112951.png) +![](../images/图论理论基础-11.png) 节点1、节点2、节点3、节点4、节点5 构成的子图是强连通分量,因为这是强连通图,也是极大图。 @@ -132,11 +132,11 @@ 例如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240511112951.png) +![](../images/图论理论基础-12.png) 图中有8条边,我们就定义 8 * 2的数组,即有n条边就申请n * 2,这么大的数组: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20250110114348.png) +![](../images/图论理论基础-13.png) 数组第一行:6 7,就表示节点6 指向 节点7,以此类推。 @@ -162,7 +162,7 @@ 如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240222110025.png) +![](../images/图论理论基础-14.png) 在一个 n (节点数)为8 的图中,就需要申请 8 * 8 这么大的空间。 @@ -188,7 +188,7 @@ 邻接表的构造如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240223103713.png) +![](../images/图论理论基础-15.png) 这里表达的图是: diff --git "a/problems/kamacoder/\346\234\200\347\237\255\350\267\257\351\227\256\351\242\230\346\200\273\347\273\223\347\257\207.md" "b/problems/kamacoder/\346\234\200\347\237\255\350\267\257\351\227\256\351\242\230\346\200\273\347\273\223\347\257\207.md" index 54f9153900..a13382c28b 100644 --- "a/problems/kamacoder/\346\234\200\347\237\255\350\267\257\351\227\256\351\242\230\346\200\273\347\273\223\347\257\207.md" +++ "b/problems/kamacoder/\346\234\200\347\237\255\350\267\257\351\227\256\351\242\230\346\200\273\347\273\223\347\257\207.md" @@ -17,7 +17,7 @@ 最短路算法比较复杂,而且各自有各自的应用场景,我来用一张表把讲过的最短路算法的使用场景都展现出来: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240508121355.png) +![](../images/最短路问题总结篇-01.png) (因为A * 属于启发式搜索,和上面最短路算法并不是一类,不适合一起对比,所以没有放在一起) diff --git a/problems/qita/acm.md b/problems/qita/acm.md index 999283564a..d43254b8b8 100644 --- a/problems/qita/acm.md +++ b/problems/qita/acm.md @@ -11,15 +11,15 @@ [知识星球](https://programmercarl.com/other/kstar.html)里很多录友的日常打卡中,都表示被 ACM模式折磨过: -
+
-
+
-
+
-
+
-
+
所以我正式推出:**卡码网**([https://kamacoder.com](https://kamacoder.com)),**专门帮助大家练习ACM模式**。 @@ -43,17 +43,17 @@ 来看看这极简的界面,没有烂七八糟的功能,只有刷题! -
+
在「状态」这里可以看到 大家提交的代码和判题记录,目前卡码网([https://kamacoder.com](https://kamacoder.com))几乎无时无刻都有卡友在提交代码。 看看大家周六晚上都在做什么,刷哪些题目。 -
+
提交代码的界面是这样的,**目前支持所有主流刷题语言**。 -
+
## 题解 @@ -63,7 +63,7 @@ [https://github.com/youngyangyang04/kamacoder-solutions](https://github.com/youngyangyang04/kamacoder-solutions) -
+
**欢迎去Github上star,欢迎fork,也欢迎来Github仓库贡献其他语言版本,成为contributor**。 @@ -71,7 +71,7 @@ 目前已经有两位录友贡献C和Java版本了。 -
+
期待在Github(https://github.com/youngyangyang04/kamacoder-solutions) 的contributors上也出现你的头像。 diff --git a/problems/qita/join.md b/problems/qita/join.md index c7e17588bf..1501547896 100644 --- a/problems/qita/join.md +++ b/problems/qita/join.md @@ -28,10 +28,10 @@ 点击这里Fetch upstream。 -
+
点击之后,这里就会显示最新的信息了 -
+
注意这时是你的远端仓库为最新版本,本地还不是最新的,本地要git pull一下。 @@ -39,18 +39,18 @@ 如何提交代码呢,首先把自己的代码提交到自己的fork的远端仓库中,然后open pull request,如图: -
+
点击 open pull request之后,就是如下画面,一个pull request有多个commit。 -
+
然后就是给pull request 添加备注,pull request是对本次commit的一个总结。如果一个pull request就一个commit,那么就和commit的备注保持一次。 然后点击 create pull request 就可以了 -
+
此时你就提交成功了,我会在项目中的pull requests 处理列表里看到你的请求。 -
+
然后如果你发现自己的代码没有合入多半是有问题,如果有问题都有会在pull request里给出留言的, @@ -78,27 +78,27 @@ C++代码 \`\`\` 例如这个commit,在添加java代码的时候,就直接添加代码 -
+
正确的格式应该是这样: -
+
一般发现问题,我也会在代码中给出评论: -
+
这样大家也可以学习一些 提交代码的规范方面的知识 有的录友 是添加的代码块语法,但没有标记是哪种语言,这样的话 代码就不会针对某种语言高亮显示了,也比较影响阅读,例如: -
+
提交python代码的话,要注释好,是python2还是python3 例如这样: -
+
当然python2的话,只这么写就行 @@ -113,7 +113,7 @@ python代码 有的录友是一个pull request 里只有一个commit。 -
+
其实如果大家是平时一天写了两三道题目的话,那么分三个commit,一个pull request提交上来就行。 @@ -127,13 +127,13 @@ python代码 例如这位录友,在提交Java代码的时候,按照题解的意思对Java版本的代码进行的注释,这就很棒👍 -
+
-
+
当然如果大家感觉 已有的代码 不符合以上要求的话,例如 代码思路不够清晰不够规范,注释不够友好,依然欢迎提交优化代码,要记得详细注释哦。 -
+
### 说明具体是哪种方法 @@ -141,10 +141,10 @@ python代码 下面这位录友做的就很好 -
+
-
+
有的题解,是一起给出了多道题目的讲解,例如项目中0102.二叉树的层序遍历.md 中有八道题目,那么大家添加代码的时候 应该在代码注释上,或者 直接写上 是哪个题目的代码。 @@ -162,7 +162,7 @@ python代码 有一位录友在提交代码的时候会把之前的代码 做一下规范性的调整,这就很棒。 -
+
**代码规范从你我做起!** @@ -183,10 +183,10 @@ python代码 在合入的过程中还要处理冲突的代码, 理解大家代码的思路,解决冲突,然后在力扣提交一下,确保是没问题。 例如同一道题目, 一位录友提交了, 我还没处理如何,另一位录友也对这道题也提交了代码,这样就会发生冲突 -
+
大家提交代码的热情太高了,我有时候根本处理不过来,但我必须当天处理完,否则第二天代码冲突会越来越多。 -
+
一天晚上分别有两位录友提交了 30多道 java代码,全部冲突,解决冲突处理的我脖子疼[哭] @@ -201,11 +201,11 @@ python代码 确保这种额外文件不要提交。 -
+
还有添加不同方法的时候,直接用正文格式写,哪种方法就可以了,不要添加目录 ,例如这样,这样整篇文章目录结构就有影响了。 -
+
前面不要加 `## 前序遍历(迭代法)`,直接写`前序遍历(迭代法)`就可以了。 @@ -233,11 +233,11 @@ Go语言代码 甚至发现哪里有语病,也欢迎提交PR来修改,例如下面:就是把【下表】 纠正为【下标】 -
+
不用非要写出牛逼的代码才能提交PR,只要发现 文章中有任何问题,或者错别字,都欢迎提交PR,成为contributor。 -
+
## 特别注意 diff --git a/problems/qita/server.md b/problems/qita/server.md index 7e214d7993..3e09070395 100644 --- a/problems/qita/server.md +++ b/problems/qita/server.md @@ -51,7 +51,7 @@ 操作方式这样,我把命令包 包装成一个shell命令,想传那个文件,直接 uploadtomyserver,然后就返回可以下载的链接,这个文件也同时传到了我的服务器上。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20211126165643.png) +![](../images/server-01.png) 我也把我的项目代码放在了github上: @@ -93,11 +93,11 @@ https://github.com/youngyangyang04/fileHttpServer 就是这样一个非常普通的查询页面。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20211126160200.png) +![](../images/server-02.png) 查询通过之后,就会展现返现群二维码。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20211127160558.png) +![](../images/server-03.png) 但要部署在服务器上,因为没有公网IP,别人用不了你的服务。 diff --git a/problems/qita/shejimoshi.md b/problems/qita/shejimoshi.md index d5342c6132..9d4ff2e725 100644 --- a/problems/qita/shejimoshi.md +++ b/problems/qita/shejimoshi.md @@ -7,11 +7,11 @@ 所以卡码网 针对 23种设计,**推出了 23道编程题目,来帮助大家练习设计模式**。 -
+
这里的23到编程题目对应了 23种这几模式。 例如第一题,小明的购物车,就是单例模式: -
+
区别于网上其他教程,本教程的特点是: @@ -40,18 +40,18 @@ 同时还给全部整理到PDF上,这份PDF,我们写的很用心了,来个大家截个图: -
+
-
+
-
+
-
+
关于设计模式的题目,大家现在就可以去 卡码网(kamacoder)去做了。 关于这23道题目对应 设计模式精讲 PDF,也免费分享给录友们,大家可以加我的企业微信获取: -
+
已经有我企业微信的录友,直接发:设计模式,这四个字就好,我会直接发你。 diff --git a/problems/qita/tulunfabu.md b/problems/qita/tulunfabu.md index 28ee463850..b0da80a067 100644 --- a/problems/qita/tulunfabu.md +++ b/problems/qita/tulunfabu.md @@ -8,7 +8,7 @@ 我知道录友们在等图论等太久了,其实我比大家都着急。 -![大家一直都在催](https://code-thinking-1253855093.file.myqcloud.com/pics/20240613105618.png) +![大家一直都在催](../images/tulunfabu-01.png) 图论完整版目前已经开放在代码随想录网站:programmercarl.com @@ -20,7 +20,7 @@ * 拓扑排序 * 最短路算法 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240613104436.png) +![](../images/tulunfabu-02.png) **耗时一年之久,代码随想录图论 终于面世了**! @@ -32,21 +32,21 @@ 随便截一些图,大家感受一下: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240613104703.png) +![](../images/tulunfabu-03.png) -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240613104824.png) +![](../images/tulunfabu-04.png) -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240613104852.png) +![](../images/tulunfabu-05.png) -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240613104926.png) +![](../images/tulunfabu-06.png) -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240613105007.png) +![](../images/tulunfabu-07.png) -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240613105030.png) +![](../images/tulunfabu-08.png) -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240613105106.png) +![](../images/tulunfabu-09.png) -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240613105143.png) +![](../images/tulunfabu-10.png) 具体内容,大家可以去代码随想录网站(programmercarl.com)去看看,非常精彩! @@ -203,19 +203,19 @@ cout << result[result.size() - 1]; 当大家通过 代码随想录 提升了编程与算法能力,考上研或者找到好工作的时候,于我来说已经是很幸福的事情: -![对笔试帮助大](https://code-thinking-1253855093.file.myqcloud.com/pics/20230914172536.png) +![对笔试帮助大](../images/tulunfabu-11.png) -![华为od将近满分](https://code-thinking-1253855093.file.myqcloud.com/pics/20230914172607.png) +![华为od将近满分](../images/tulunfabu-12.png) -![研究生复试](https://code-thinking-1253855093.file.myqcloud.com/pics/20240621103130.png) +![研究生复试](../images/tulunfabu-13.png) -![红包感谢代码随想录366](https://code-thinking-1253855093.file.myqcloud.com/pics/20231123151310.png) +![红包感谢代码随想录366](../images/tulunfabu-14.png) -![上岸亚马逊](https://code-thinking-1253855093.file.myqcloud.com/pics/20240206174151.png) +![上岸亚马逊](../images/tulunfabu-15.png) -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20220718094112.png) +![](../images/tulunfabu-16.png) -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20220718094332.png) +![](../images/tulunfabu-17.png) 至此**图论内容 已完全免费开放在代码随想录网站(programmercarl.com),造福广大学习编程的录友们**! diff --git "a/problems/\344\272\214\345\217\211\346\240\221\346\200\273\347\273\223\347\257\207.md" "b/problems/\344\272\214\345\217\211\346\240\221\346\200\273\347\273\223\347\257\207.md" index 4794233ab5..4d6f9174e3 100644 --- "a/problems/\344\272\214\345\217\211\346\240\221\346\200\273\347\273\223\347\257\207.md" +++ "b/problems/\344\272\214\345\217\211\346\240\221\346\200\273\347\273\223\347\257\207.md" @@ -149,7 +149,7 @@ 二叉树专题汇聚为一张图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20211030125421.png) +![](images/二叉树总结篇-01.png) 这个图是 [代码随想录知识星球](https://programmercarl.com/other/kstar.html) 成员:[青](https://wx.zsxq.com/dweb2/index/footprint/185251215558842),所画,总结的非常好,分享给大家。 diff --git "a/problems/\344\272\214\345\217\211\346\240\221\347\220\206\350\256\272\345\237\272\347\241\200.md" "b/problems/\344\272\214\345\217\211\346\240\221\347\220\206\350\256\272\345\237\272\347\241\200.md" index c665827791..fe94008332 100644 --- "a/problems/\344\272\214\345\217\211\346\240\221\347\220\206\350\256\272\345\237\272\347\241\200.md" +++ "b/problems/\344\272\214\345\217\211\346\240\221\347\220\206\350\256\272\345\237\272\347\241\200.md" @@ -17,7 +17,7 @@ 题目分类大纲如下: -二叉树大纲 +二叉树大纲 说到二叉树,大家对于二叉树其实都很熟悉了,本文呢我也不想教科书式的把二叉树的基础内容再啰嗦一遍,所以以下我讲的都是一些比较重点的内容。 @@ -33,7 +33,7 @@ 如图所示: - + 这棵二叉树为满二叉树,也可以说深度为k,有2^k-1个节点的二叉树。 @@ -48,7 +48,7 @@ 我来举一个典型的例子如题: - + 相信不少同学最后一个二叉树是不是完全二叉树都中招了。 @@ -65,7 +65,7 @@ 下面这两棵树都是搜索树 - + ### 平衡二叉搜索树 @@ -74,7 +74,7 @@ 如图: - + 最后一棵 不是平衡二叉树,因为它的左右两个子树的高度差的绝对值超过了1。 @@ -93,13 +93,13 @@ 链式存储如图: - + 链式存储是大家很熟悉的一种方式,那么我们来看看如何顺序存储呢? 其实就是用数组来存储二叉树,顺序存储的方式如图: - + 用数组来存储二叉树如何遍历的呢? @@ -146,7 +146,7 @@ 大家可以对着如下图,看看自己理解的前后中序有没有问题。 - + 最后再说一说二叉树中深度优先和广度优先遍历实现方式,我们做二叉树相关题目,经常会使用递归的方式来实现深度优先遍历,也就是实现前中后序遍历,使用递归是比较方便的。 diff --git "a/problems/\344\272\214\345\217\211\346\240\221\347\232\204\347\273\237\344\270\200\350\277\255\344\273\243\346\263\225.md" "b/problems/\344\272\214\345\217\211\346\240\221\347\232\204\347\273\237\344\270\200\350\277\255\344\273\243\346\263\225.md" index a6d4e3ffc3..4b6a31289c 100644 --- "a/problems/\344\272\214\345\217\211\346\240\221\347\232\204\347\273\237\344\270\200\350\277\255\344\273\243\346\263\225.md" +++ "b/problems/\344\272\214\345\217\211\346\240\221\347\232\204\347\273\237\344\270\200\350\277\255\344\273\243\346\263\225.md" @@ -69,7 +69,7 @@ public: 看代码有点抽象我们来看一下动画(中序遍历): -![中序遍历迭代(统一写法)](https://code-thinking.cdn.bcebos.com/gifs/%E4%B8%AD%E5%BA%8F%E9%81%8D%E5%8E%86%E8%BF%AD%E4%BB%A3%EF%BC%88%E7%BB%9F%E4%B8%80%E5%86%99%E6%B3%95%EF%BC%89.gif) +![中序遍历迭代(统一写法)](images/二叉树的统一迭代法-01.gif) 动画中,result数组就是最终结果集。 diff --git "a/problems/\344\272\214\345\217\211\346\240\221\347\232\204\350\277\255\344\273\243\351\201\215\345\216\206.md" "b/problems/\344\272\214\345\217\211\346\240\221\347\232\204\350\277\255\344\273\243\351\201\215\345\216\206.md" index a3c5b38fa0..60f4ceee73 100644 --- "a/problems/\344\272\214\345\217\211\346\240\221\347\232\204\350\277\255\344\273\243\351\201\215\345\216\206.md" +++ "b/problems/\344\272\214\345\217\211\346\240\221\347\232\204\350\277\255\344\273\243\351\201\215\345\216\206.md" @@ -40,7 +40,7 @@ 动画如下: -![二叉树前序遍历(迭代法)](https://code-thinking.cdn.bcebos.com/gifs/%E4%BA%8C%E5%8F%89%E6%A0%91%E5%89%8D%E5%BA%8F%E9%81%8D%E5%8E%86%EF%BC%88%E8%BF%AD%E4%BB%A3%E6%B3%95%EF%BC%89.gif) +![二叉树前序遍历(迭代法)](images/二叉树的迭代遍历-01.gif) 不难写出如下代码: (**注意代码中空节点不入栈**) @@ -87,7 +87,7 @@ public: 动画如下: -![二叉树中序遍历(迭代法)](https://code-thinking.cdn.bcebos.com/gifs/%E4%BA%8C%E5%8F%89%E6%A0%91%E4%B8%AD%E5%BA%8F%E9%81%8D%E5%8E%86%EF%BC%88%E8%BF%AD%E4%BB%A3%E6%B3%95%EF%BC%89.gif) +![二叉树中序遍历(迭代法)](images/二叉树的迭代遍历-02.gif) **中序遍历,可以写出如下代码:** @@ -119,7 +119,7 @@ public: 再来看后序遍历,先序遍历是中左右,后序遍历是左右中,那么我们只需要调整一下先序遍历的代码顺序,就变成中右左的遍历顺序,然后在反转result数组,输出的结果顺序就是左右中了,如下图: -![前序到后序](https://code-thinking-1253855093.file.myqcloud.com/pics/20200808200338924.png) +![前序到后序](images/二叉树的迭代遍历-03.png) **所以后序遍历只需要前序遍历的代码稍作修改就可以了,代码如下:** diff --git "a/problems/\345\211\215\345\272\217/ACM\346\250\241\345\274\217.md" "b/problems/\345\211\215\345\272\217/ACM\346\250\241\345\274\217.md" index 313264fba2..d741a26fe5 100644 --- "a/problems/\345\211\215\345\272\217/ACM\346\250\241\345\274\217.md" +++ "b/problems/\345\211\215\345\272\217/ACM\346\250\241\345\274\217.md" @@ -5,15 +5,15 @@ 平时大家在力扣上刷题,就是 核心代码模式,即给你一个函数,直接写函数实现,例如这样: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20231109193631.png) +![](../images/ACM模式-01.png) 而ACM模式,是程序头文件,main函数,数据的输入输出都要自己处理,例如这样: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20231109193743.png) +![](../images/ACM模式-02.png) 大家可以发现 右边代码框什么都没有,程序从头到尾都需要自己实现,本题如果写完代码是这样的: (细心的录友可以发现和力扣上刷题是不一样的) -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20231109193931.png) +![](../images/ACM模式-03.png) **如果大家从一开始学习算法就一直在力扣上的话,突然切到ACM模式会非常不适应**。 @@ -21,15 +21,15 @@ 知识星球里也有很多录友,因为不熟悉ACM模式在面试的过程中吃了不少亏。 -
+
-
+
-
+
-
+
-
+
## 面试究竟怎么考? @@ -53,7 +53,7 @@ 你只要能把卡码网首页的25道题目 都刷了 ,就把所有的ACM输入输出方式都练习到位了,不会有任何盲区。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20231109195056.png) +![](../images/ACM模式-09.png) 而且你不用担心,题目难度太大,直接给自己劝退,**卡码网的前25道题目都是我精心制作的,难度也是循序渐进的**,大家去刷一下就知道了。 diff --git "a/problems/\345\211\215\345\272\217/ACM\346\250\241\345\274\217\345\246\202\344\275\225\346\236\204\345\273\272\344\272\214\345\217\211\346\240\221.md" "b/problems/\345\211\215\345\272\217/ACM\346\250\241\345\274\217\345\246\202\344\275\225\346\236\204\345\273\272\344\272\214\345\217\211\346\240\221.md" index 48781eda88..c877906e63 100644 --- "a/problems/\345\211\215\345\272\217/ACM\346\250\241\345\274\217\345\246\202\344\275\225\346\236\204\345\273\272\344\272\214\345\217\211\346\240\221.md" +++ "b/problems/\345\211\215\345\272\217/ACM\346\250\241\345\274\217\345\246\202\344\275\225\346\236\204\345\273\272\344\272\214\345\217\211\346\240\221.md" @@ -15,7 +15,7 @@ 其输入用例,就是用一个数组来表述 二叉树,如下: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20210914222335.png) +![](../images/ACM模式如何构建二叉树-01.png) 一直跟着公众号学算法的录友 应该知道,我在[二叉树:构造二叉树登场!](https://mp.weixin.qq.com/s/Dza-fqjTyGrsRw4PWNKdxA),已经讲过,**只有 中序与后序 和 中序和前序 可以确定一棵唯一的二叉树。 前序和后序是不能确定唯一的二叉树的**。 @@ -24,7 +24,7 @@ 很明显,是后台直接明确了构造规则。 再看一下 这个 输入序列 和 对应的二叉树。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20210914222335.png) +![](../images/ACM模式如何构建二叉树-02.png) 从二叉树 推导到 序列,大家可以发现这就是层序遍历。 @@ -36,7 +36,7 @@ 顺序存储,就是用一个数组来存二叉树,其方式如图所示: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20210914223147.png) +![](../images/ACM模式如何构建二叉树-03.png) 那么此时大家是不是应该知道了,数组如何转化成 二叉树了。**如果父节点的数组下标是i,那么它的左孩子下标就是i * 2 + 1,右孩子下标就是 i * 2 + 2**。 @@ -80,7 +80,7 @@ TreeNode* construct_binary_tree(const vector& vec) { 这个函数最后返回的 指针就是 根节点的指针, 这就是 传入二叉树的格式了,也就是 力扣上的用例输入格式,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20210914224422.png) +![](../images/ACM模式如何构建二叉树-04.png) 也有不少同学在做ACM模式的题目,就经常疑惑: @@ -176,7 +176,7 @@ int main() { 和 [538.把二叉搜索树转换为累加树](https://mp.weixin.qq.com/s/rlJUFGCnXsIMX0Lg-fRpIw) 中的输入是一样的 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20210914222335.png) +![](../images/ACM模式如何构建二叉树-05.png) 这里可能又有同学疑惑,你这不一样啊,题目是null,你为啥用-1。 @@ -184,11 +184,11 @@ int main() { 在来看,测试代码输出的效果: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20210914230045.png) +![](../images/ACM模式如何构建二叉树-06.png) 可以看出和 题目中输入用例 这个图 是一样一样的。 只不过题目中图没有把 空节点 画出来而已。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20210914230118.png) +![](../images/ACM模式如何构建二叉树-07.png) 大家可以拿我的代码去测试一下,跑一跑。 @@ -205,7 +205,7 @@ int main() { **[知识星球](https://mp.weixin.qq.com/s/QVF6upVMSbgvZy8lHZS3CQ)**里有的录友已经开始三刷: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20210727234031.png) +![](../images/ACM模式如何构建二叉树-08.png) 只做过一遍,真的就是懂了一点皮毛, 第二遍刷才有真的对各个题目有较为深入的理解,也会明白 我为什么要这样安排刷题的顺序了。 diff --git "a/problems/\345\211\215\345\272\217/vim.md" "b/problems/\345\211\215\345\272\217/vim.md" index 581019995a..8894e84cf0 100644 --- "a/problems/\345\211\215\345\272\217/vim.md" +++ "b/problems/\345\211\215\345\272\217/vim.md" @@ -62,7 +62,7 @@ IDE那么很吃内存,打开个IDE卡半天,用VIM就很轻便了,秒开 来感受一下PowerVim的使用体验,看起来很酷吧!注意这些操作都不用鼠标的,一波键盘控制流!所以我平时写代码是不碰鼠标的! -![](https://code-thinking.cdn.bcebos.com/gifs/vim_overview.gif) +![](../images/vim-01.gif) ## 安装 @@ -93,7 +93,7 @@ sh install.sh 当然 还有很多,我还详细写了PowerVim的快捷键,使用方法,插件,配置,等等,都在Github主页的README上。当时我的Github上写的都是英文README,这次为了方便大家阅读,我又翻译成中文README。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20211013102249.png) +![](../images/vim-02.png) Github地址:[https://github.com/youngyangyang04/PowerVim](https://github.com/youngyangyang04/PowerVim) diff --git "a/problems/\345\211\215\345\272\217/\344\273\243\347\240\201\351\243\216\346\240\274.md" "b/problems/\345\211\215\345\272\217/\344\273\243\347\240\201\351\243\216\346\240\274.md" index 95f4f129da..1e1d7c5247 100644 --- "a/problems/\345\211\215\345\272\217/\344\273\243\347\240\201\351\243\216\346\240\274.md" +++ "b/problems/\345\211\215\345\272\217/\344\273\243\347\240\201\351\243\216\346\240\274.md" @@ -57,7 +57,7 @@ 我做了一下总结如图: -![编程风格](https://code-thinking-1253855093.file.myqcloud.com/pics/20201119173039835.png) +![编程风格](../images/代码风格-01.png) ### 水平留白(代码空格) diff --git "a/problems/\345\211\215\345\272\217/\345\206\205\345\255\230\346\266\210\350\200\227.md" "b/problems/\345\211\215\345\272\217/\345\206\205\345\255\230\346\266\210\350\200\227.md" index f70564e4a2..bd4dd13c55 100644 --- "a/problems/\345\211\215\345\272\217/\345\206\205\345\255\230\346\266\210\350\200\227.md" +++ "b/problems/\345\211\215\345\272\217/\345\206\205\345\255\230\346\266\210\350\200\227.md" @@ -19,7 +19,7 @@ 如果我们写C++的程序,就要知道栈和堆的概念,程序运行时所需的内存空间分为 固定部分,和可变部分,如下: -![C++内存空间](https://code-thinking-1253855093.file.myqcloud.com/pics/20210309165950660.png) +![C++内存空间](../images/内存消耗-01.png) 固定部分的内存消耗 是不会随着代码运行产生变化的, 可变部分则是会产生变化的 @@ -41,7 +41,7 @@ 想要算出自己程序会占用多少内存就一定要了解自己定义的数据类型的大小,如下: -![C++数据类型的大小](https://code-thinking-1253855093.file.myqcloud.com/pics/20200804193045440.png) +![C++数据类型的大小](../images/内存消耗-02.png) 注意图中有两个不一样的地方,为什么64位的指针就占用了8个字节,而32位的指针占用4个字节呢? @@ -109,7 +109,7 @@ CPU读取内存不是一次读取单个字节,而是一块一块的来读取 第一种就是内存对齐的情况,如图: -![内存对齐](https://code-thinking-1253855093.file.myqcloud.com/pics/20200804193307347.png) +![内存对齐](../images/内存消耗-03.png) 一字节的char占用了四个字节,空了三个字节的内存地址,int数据从地址4开始。 @@ -117,7 +117,7 @@ CPU读取内存不是一次读取单个字节,而是一块一块的来读取 第二种是没有内存对齐的情况如图: -![非内存对齐](https://code-thinking-1253855093.file.myqcloud.com/pics/20200804193353926.png) +![非内存对齐](../images/内存消耗-04.png) char型的数据和int型的数据挨在一起,该int数据从地址1开始,那么CPU想要读这个数据的话来看看需要几步操作: diff --git "a/problems/\345\211\215\345\272\217/\346\227\266\351\227\264\345\244\215\346\235\202\345\272\246.md" "b/problems/\345\211\215\345\272\217/\346\227\266\351\227\264\345\244\215\346\235\202\345\272\246.md" index 61f0a7ef6a..cfad65c7d2 100644 --- "a/problems/\345\211\215\345\272\217/\346\227\266\351\227\264\345\244\215\346\235\202\345\272\246.md" +++ "b/problems/\345\211\215\345\272\217/\346\227\266\351\227\264\345\244\215\346\235\202\345\272\246.md" @@ -38,7 +38,7 @@ 同样的同理再看一下快速排序,都知道快速排序是O(nlogn),但是当数据已经有序情况下,快速排序的时间复杂度是O(n^2) 的,**所以严格从大O的定义来讲,快速排序的时间复杂度应该是O(n^2)**。 **但是我们依然说快速排序是O(nlogn)的时间复杂度,这个就是业内的一个默认规定,这里说的O代表的就是一般情况,而不是严格的上界**。如图所示: -![时间复杂度4,一般情况下的时间复杂度](https://code-thinking-1253855093.file.myqcloud.com/pics/20200728185745611-20230310123844306.png) +![时间复杂度4,一般情况下的时间复杂度](../images/时间复杂度-01.png) 我们主要关心的还是一般情况下的数据形式。 @@ -49,7 +49,7 @@ 如下图中可以看出不同算法的时间复杂度在不同数据输入规模下的差异。 -![时间复杂度,不同数据规模的差异](https://code-thinking-1253855093.file.myqcloud.com/pics/20200728191447384-20230310124015324.png) +![时间复杂度,不同数据规模的差异](../images/时间复杂度-02.png) 在决定使用哪些算法的时候,不是时间复杂越低的越好(因为简化后的时间复杂度忽略了常数项等等),要考虑数据规模,如果数据规模很小甚至可以用O(n^2)的算法比O(n)的更合适(在有常数项的时候)。 @@ -115,7 +115,7 @@ O(2 × n^2 + 10 × n + 1000) < O(3 × n^2),所以说最后省略掉常数项 为什么可以这么做呢?如下图所示: -![时间复杂度1.png](https://code-thinking-1253855093.file.myqcloud.com/pics/20200728191447349-20230310124032001.png) +![时间复杂度1.png](../images/时间复杂度-03.png) 假如有两个算法的时间复杂度,分别是log以2为底n的对数和log以10为底n的对数,那么这里如果还记得高中数学的话,应该不难理解`以2为底n的对数 = 以2为底10的对数 * 以10为底n的对数`。 diff --git "a/problems/\345\211\215\345\272\217/\347\250\213\345\272\217\345\221\230\347\256\200\345\216\206.md" "b/problems/\345\211\215\345\272\217/\347\250\213\345\272\217\345\221\230\347\256\200\345\216\206.md" index 7fbfa1fd2b..999bd12708 100644 --- "a/problems/\345\211\215\345\272\217/\347\250\213\345\272\217\345\221\230\347\256\200\345\216\206.md" +++ "b/problems/\345\211\215\345\272\217/\347\250\213\345\272\217\345\221\230\347\256\200\345\216\206.md" @@ -103,13 +103,13 @@ Carl校招社招都拿过大厂的offer,同时也看过很多应聘者的简 最后福利,把我的简历模板贡献出来!如下图所示。 -![简历模板](https://code-thinking-1253855093.file.myqcloud.com/pics/20200803175538158.png) +![简历模板](../images/程序员简历-01.png) 这里是简历模板中Markdown的代码:[https://github.com/youngyangyang04/Markdown-Resume-Template](https://github.com/youngyangyang04/Markdown-Resume-Template) ,可以fork到自己Github仓库上,按照这个模板来修改自己的简历。 **Word版本的简历,添加如下企业微信,通过之后就会发你word版本**。 -
+
如果已经有我的企业微信,直接回复:简历模板,就可以了。 diff --git "a/problems/\345\211\215\345\272\217/\347\256\227\346\263\225\350\266\205\346\227\266.md" "b/problems/\345\211\215\345\272\217/\347\256\227\346\263\225\350\266\205\346\227\266.md" index 34ebe6deb1..a352a9d130 100644 --- "a/problems/\345\211\215\345\272\217/\347\256\227\346\263\225\350\266\205\346\227\266.md" +++ "b/problems/\345\211\215\345\272\217/\347\256\227\346\263\225\350\266\205\346\227\266.md" @@ -8,7 +8,7 @@ ## 超时是怎么回事 -![程序超时](https://code-thinking-1253855093.file.myqcloud.com/pics/20200729112716117-20230310124308704.png) +![程序超时](../images/算法超时-01.png) 大家在leetcode上练习算法的时候应该都遇到过一种错误是“超时”。 @@ -124,11 +124,11 @@ int main() { 来看一下运行的效果,如下图: -![程序超时2](https://code-thinking-1253855093.file.myqcloud.com/pics/20200729200018460-20230310124315093.png) +![程序超时2](../images/算法超时-02.png) O(n)的算法,1s内大概计算机可以运行 5 * (10^8)次计算,可以推测一下 $O(n^2)$ 的算法应该1s可以处理的数量级的规模是 5 * (10^8)开根号,实验数据如下。 -![程序超时3](https://code-thinking-1253855093.file.myqcloud.com/pics/2020072919590970-20230310124318532.png) +![程序超时3](../images/算法超时-03.png) O(n^2)的算法,1s内大概计算机可以运行 22500次计算,验证了刚刚的推测。 @@ -136,7 +136,7 @@ O(n^2)的算法,1s内大概计算机可以运行 22500次计算,验证了刚 理论上应该是比 $O(n)$ 少一个数量级,因为 $\log n$ 的复杂度 其实是很快,看一下实验数据。 -![程序超时4](https://code-thinking-1253855093.file.myqcloud.com/pics/20200729195729407-20230310124322232.png) +![程序超时4](../images/算法超时-04.png) $O(n\log n)$ 的算法,1s内大概计算机可以运行 2 * (10^7)次计算,符合预期。 @@ -144,7 +144,7 @@ $O(n\log n)$ 的算法,1s内大概计算机可以运行 2 * (10^7)次计算, **整体测试数据整理如下:** -![程序超时1](https://code-thinking-1253855093.file.myqcloud.com/pics/20201208231559175-20230310124325152.png) +![程序超时1](../images/算法超时-05.png) 至于 $O(\log n)$ 和 $O(n^3)$ 等等这些时间复杂度在1s内可以处理的多大的数据规模,大家可以自己写一写代码去测一下了。 diff --git "a/problems/\345\211\215\345\272\217/\351\200\222\345\275\222\347\256\227\346\263\225\347\232\204\346\227\266\351\227\264\344\270\216\347\251\272\351\227\264\345\244\215\346\235\202\345\272\246\345\210\206\346\236\220.md" "b/problems/\345\211\215\345\272\217/\351\200\222\345\275\222\347\256\227\346\263\225\347\232\204\346\227\266\351\227\264\344\270\216\347\251\272\351\227\264\345\244\215\346\235\202\345\272\246\345\210\206\346\236\220.md" index 39513a9155..b906203899 100644 --- "a/problems/\345\211\215\345\272\217/\351\200\222\345\275\222\347\256\227\346\263\225\347\232\204\346\227\266\351\227\264\344\270\216\347\251\272\351\227\264\345\244\215\346\235\202\345\272\246\345\210\206\346\236\220.md" +++ "b/problems/\345\211\215\345\272\217/\351\200\222\345\275\222\347\256\227\346\263\225\347\232\204\346\227\266\351\227\264\344\270\216\347\251\272\351\227\264\345\244\215\346\235\202\345\272\246\345\210\206\346\236\220.md" @@ -29,7 +29,7 @@ int fibonacci(int i) { 可以看出上面的代码每次递归都是O(1)的操作。再来看递归了多少次,这里将i为5作为输入的递归过程 抽象成一棵递归树,如图: -![递归空间复杂度分析](https://code-thinking-1253855093.file.myqcloud.com/pics/20210305093200104.png) +![递归空间复杂度分析](../images/递归算法的时间与空间复杂度分析-01.png) 从图中,可以看出f(5)是由f(4)和f(3)相加而来,那么f(4)是由f(3)和f(2)相加而来 以此类推。 @@ -196,7 +196,7 @@ int main() 在看递归的深度是多少呢?如图所示: -![递归空间复杂度分析](https://code-thinking-1253855093.file.myqcloud.com/pics/20210305094749554.png) +![递归空间复杂度分析](../images/递归算法的时间与空间复杂度分析-02.png) 递归第n个斐波那契数的话,递归调用栈的深度就是n。 @@ -214,7 +214,7 @@ int fibonacci(int i) { 最后对各种求斐波那契数列方法的性能做一下分析,如题: -![递归的空间复杂度分析](https://code-thinking-1253855093.file.myqcloud.com/pics/20210305095227356.png) +![递归的空间复杂度分析](../images/递归算法的时间与空间复杂度分析-03.png) 可以看出,求斐波那契数的时候,使用递归算法并不一定是在性能上是最优的,但递归确实简化的代码层面的复杂度。 diff --git "a/problems/\345\211\215\345\272\217/\351\200\222\345\275\222\347\256\227\346\263\225\347\232\204\346\227\266\351\227\264\345\244\215\346\235\202\345\272\246.md" "b/problems/\345\211\215\345\272\217/\351\200\222\345\275\222\347\256\227\346\263\225\347\232\204\346\227\266\351\227\264\345\244\215\346\235\202\345\272\246.md" index 1ea1e65be8..a63b6c3166 100644 --- "a/problems/\345\211\215\345\272\217/\351\200\222\345\275\222\347\256\227\346\263\225\347\232\204\346\227\266\351\227\264\345\244\215\346\235\202\345\272\246.md" +++ "b/problems/\345\211\215\345\272\217/\351\200\222\345\275\222\347\256\227\346\263\225\347\232\204\346\227\266\351\227\264\345\244\215\346\235\202\345\272\246.md" @@ -69,7 +69,7 @@ int function3(int x, int n) { 我们来分析一下,首先看递归了多少次呢,可以把递归抽象出一棵满二叉树。刚刚同学写的这个算法,可以用一棵满二叉树来表示(为了方便表示,选择n为偶数16),如图: -![递归算法的时间复杂度](https://code-thinking-1253855093.file.myqcloud.com/pics/20201209193909426.png) +![递归算法的时间复杂度](../images/递归算法的时间复杂度-01.png) 当前这棵二叉树就是求x的n次方,n为16的情况,n为16的时候,进行了多少次乘法运算呢? @@ -79,7 +79,7 @@ int function3(int x, int n) { 这么如果是求x的n次方,这个递归树有多少个节点呢,如下图所示:(m为深度,从0开始) -![递归求时间复杂度](https://code-thinking-1253855093.file.myqcloud.com/pics/20200728195531892.png) +![递归求时间复杂度](../images/递归算法的时间复杂度-02.png) **时间复杂度忽略掉常数项`-1`之后,这个递归算法的时间复杂度依然是O(n)**。对,你没看错,依然是O(n)的时间复杂度! diff --git "a/problems/\345\211\221\346\214\207Offer05.\346\233\277\346\215\242\347\251\272\346\240\274.md" "b/problems/\345\211\221\346\214\207Offer05.\346\233\277\346\215\242\347\251\272\346\240\274.md" index f5803cb452..8c5231adcf 100644 --- "a/problems/\345\211\221\346\214\207Offer05.\346\233\277\346\215\242\347\251\272\346\240\274.md" +++ "b/problems/\345\211\221\346\214\207Offer05.\346\233\277\346\215\242\347\251\272\346\240\274.md" @@ -37,11 +37,11 @@ 如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20231030165201.png) +![](images/剑指Offer05.替换空格-01.png) 然后从后向前替换数字字符,也就是双指针法,过程如下:i指向新长度的末尾,j指向旧长度的末尾。 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20231030173058.png) +![](images/剑指Offer05.替换空格-02.png) 有同学问了,为什么要从后向前填充,从前向后填充不行么? diff --git "a/problems/\345\211\221\346\214\207Offer58-II.\345\267\246\346\227\213\350\275\254\345\255\227\347\254\246\344\270\262.md" "b/problems/\345\211\221\346\214\207Offer58-II.\345\267\246\346\227\213\350\275\254\345\255\227\347\254\246\344\270\262.md" index e32f4ce15d..0f7c6c7572 100644 --- "a/problems/\345\211\221\346\214\207Offer58-II.\345\267\246\346\227\213\350\275\254\345\255\227\347\254\246\344\270\262.md" +++ "b/problems/\345\211\221\346\214\207Offer58-II.\345\267\246\346\227\213\350\275\254\345\255\227\347\254\246\344\270\262.md" @@ -46,16 +46,16 @@ fgabcde 本题中,我们需要将字符串右移n位,字符串相当于分成了两个部分,如果n为2,符串相当于分成了两个部分,如图: (length为字符串长度) -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20231106170143.png) +![](images/剑指Offer58-II.左旋转字符串-01.png) 右移n位, 就是将第二段放在前面,第一段放在后面,先不考虑里面字符的顺序,是不是整体倒叙不就行了。如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20231106171557.png) +![](images/剑指Offer58-II.左旋转字符串-02.png) 此时第一段和第二段的顺序是我们想要的,但里面的字符位置被我们倒叙,那么此时我们在把 第一段和第二段里面的字符再倒叙一把,这样字符顺序不就正确了。 如果: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20231106172058.png) +![](images/剑指Offer58-II.左旋转字符串-03.png) 其实,思路就是 通过 整体倒叙,把两段子串顺序颠倒,两个段子串里的的字符在倒叙一把,**负负得正**,这样就不影响子串里面字符的顺序了。 @@ -86,7 +86,7 @@ int main() { 可以的,不过,要记得 控制好 局部反转的长度,如果先局部反转,那么先反转的子串长度就是 len - n,如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20231106172534.png) +![](images/剑指Offer58-II.左旋转字符串-04.png) 代码如下: diff --git "a/problems/\345\212\250\346\200\201\350\247\204\345\210\222-\350\202\241\347\245\250\351\227\256\351\242\230\346\200\273\347\273\223\347\257\207.md" "b/problems/\345\212\250\346\200\201\350\247\204\345\210\222-\350\202\241\347\245\250\351\227\256\351\242\230\346\200\273\347\273\223\347\257\207.md" index 7927deb7d7..ae12d86063 100644 --- "a/problems/\345\212\250\346\200\201\350\247\204\345\210\222-\350\202\241\347\245\250\351\227\256\351\242\230\346\200\273\347\273\223\347\257\207.md" +++ "b/problems/\345\212\250\346\200\201\350\247\204\345\210\222-\350\202\241\347\245\250\351\227\256\351\242\230\346\200\273\347\273\223\347\257\207.md" @@ -8,7 +8,7 @@ 之前我们已经把力扣上股票系列的题目都讲过的,但没有来一篇股票总结,来帮大家高屋建瓴,所以总结篇这就来了! -![股票问题总结](https://code-thinking.cdn.bcebos.com/pics/%E8%82%A1%E7%A5%A8%E9%97%AE%E9%A2%98%E6%80%BB%E7%BB%93.jpg) +![股票问题总结](images/动态规划-股票问题总结篇-01.jpg) * [动态规划:121.买卖股票的最佳时机](https://programmercarl.com/0121.买卖股票的最佳时机.html) * [动态规划:122.买卖股票的最佳时机II](https://programmercarl.com/0122.买卖股票的最佳时机II(动态规划).html) diff --git "a/problems/\345\212\250\346\200\201\350\247\204\345\210\222\346\200\273\347\273\223\347\257\207.md" "b/problems/\345\212\250\346\200\201\350\247\204\345\210\222\346\200\273\347\273\223\347\257\207.md" index dd1646d6d8..42c48edfe0 100644 --- "a/problems/\345\212\250\346\200\201\350\247\204\345\210\222\346\200\273\347\273\223\347\257\207.md" +++ "b/problems/\345\212\250\346\200\201\350\247\204\345\210\222\346\200\273\347\273\223\347\257\207.md" @@ -53,7 +53,7 @@ ## 背包问题系列 -背包问题大纲 +背包问题大纲 * [动态规划:关于01背包问题,你该了解这些!](https://programmercarl.com/背包理论基础01背包-1.html) * [动态规划:关于01背包问题,你该了解这些!(滚动数组)](https://programmercarl.com/背包理论基础01背包-2.html) @@ -79,7 +79,7 @@ ## 股票系列 -股票问题总结 +股票问题总结 * [动态规划:买卖股票的最佳时机](https://programmercarl.com/0121.买卖股票的最佳时机.html) * [动态规划:本周我们都讲了这些(系列六)](https://programmercarl.com/周总结/20210225动规周末总结.html) @@ -93,7 +93,7 @@ ## 子序列系列 - + * [动态规划:最长递增子序列](https://programmercarl.com/0300.最长上升子序列.html) * [动态规划:最长连续递增序列](https://programmercarl.com/0674.最长连续递增序列.html) diff --git "a/problems/\345\212\250\346\200\201\350\247\204\345\210\222\347\220\206\350\256\272\345\237\272\347\241\200.md" "b/problems/\345\212\250\346\200\201\350\247\204\345\210\222\347\220\206\350\256\272\345\237\272\347\241\200.md" index 9ffb453377..21af6d88d0 100644 --- "a/problems/\345\212\250\346\200\201\350\247\204\345\210\222\347\220\206\350\256\272\345\237\272\347\241\200.md" +++ "b/problems/\345\212\250\346\200\201\350\247\204\345\210\222\347\220\206\350\256\272\345\237\272\347\241\200.md" @@ -8,7 +8,7 @@ 动态规划刷题大纲 - + ## 算法公开课 diff --git "a/problems/\345\221\250\346\200\273\347\273\223/20201003\344\272\214\345\217\211\346\240\221\345\221\250\346\234\253\346\200\273\347\273\223.md" "b/problems/\345\221\250\346\200\273\347\273\223/20201003\344\272\214\345\217\211\346\240\221\345\221\250\346\234\253\346\200\273\347\273\223.md" index ea5082244c..dd5903ad25 100644 --- "a/problems/\345\221\250\346\200\273\347\273\223/20201003\344\272\214\345\217\211\346\240\221\345\221\250\346\234\253\346\200\273\347\273\223.md" +++ "b/problems/\345\221\250\346\200\273\347\273\223/20201003\344\272\214\345\217\211\346\240\221\345\221\250\346\234\253\346\200\273\347\273\223.md" @@ -254,5 +254,5 @@ traversal(cur->left, tmp, result); * Github:[leetcode-master](https://github.com/youngyangyang04/leetcode-master) * 知乎:[代码随想录](https://www.zhihu.com/people/sun-xiu-yang-64) -![](https://code-thinking-1253855093.file.myqcloud.com/pics/2021013018121150.png) +![](../images/20201003二叉树周末总结-01.png)
diff --git "a/problems/\345\221\250\346\200\273\347\273\223/20201107\345\233\236\346\272\257\345\221\250\346\234\253\346\200\273\347\273\223.md" "b/problems/\345\221\250\346\200\273\347\273\223/20201107\345\233\236\346\272\257\345\221\250\346\234\253\346\200\273\347\273\223.md" index 7e333c7672..d528e2bb58 100644 --- "a/problems/\345\221\250\346\200\273\347\273\223/20201107\345\233\236\346\272\257\345\221\250\346\234\253\346\200\273\347\273\223.md" +++ "b/problems/\345\221\250\346\200\273\347\273\223/20201107\345\233\236\346\272\257\345\221\250\346\234\253\346\200\273\347\273\223.md" @@ -31,7 +31,7 @@ for (int i = startIndex; i < candidates.size() && sum + candidates[i] <= target; 在[回溯算法:求组合总和(二)](https://programmercarl.com/0039.组合总和.html)第一个树形结构没有画出startIndex的作用,**这里这里纠正一下,准确的树形结构如图所示:** -![39.组合总和](https://code-thinking-1253855093.file.myqcloud.com/pics/20201223170730367.png) +![39.组合总和](../images/20201107回溯周末总结-01.png) ## 周二 @@ -45,7 +45,7 @@ for (int i = startIndex; i < candidates.size() && sum + candidates[i] <= target; 都知道组合问题可以抽象为树形结构,那么“使用过”在这个树形结构上是有两个维度的,一个维度是同一树枝上“使用过”,一个维度是同一树层上“使用过”。**没有理解这两个层面上的“使用过” 是造成大家没有彻底理解去重的根本原因**。 -![40.组合总和II1](https://code-thinking-1253855093.file.myqcloud.com/pics/20201123202817973.png) +![40.组合总和II1](../images/20201107回溯周末总结-02.png) 我在图中将used的变化用橘黄色标注上,可以看出在candidates[i] == candidates[i - 1]相同的情况下: @@ -79,7 +79,7 @@ for (int i = startIndex; i < candidates.size() && sum + candidates[i] <= target; **本题的树形结构中,和代码的逻辑有一个小出入,已经判断不是回文的子串就不会进入递归了,纠正如下:** -![131.分割回文串](https://code-thinking-1253855093.file.myqcloud.com/pics/20201123203228309.png) +![131.分割回文串](../images/20201107回溯周末总结-03.png) ## 周四 @@ -90,7 +90,7 @@ for (int i = startIndex; i < candidates.size() && sum + candidates[i] <= target; 树形图如下: -![93.复原IP地址](https://code-thinking-1253855093.file.myqcloud.com/pics/20201123203735933-20230310133532452.png) +![93.复原IP地址](../images/20201107回溯周末总结-04.png) 在本文的树形结构图中,我已经把详细的分析思路都画了出来,相信大家看了之后一定会思路清晰不少! @@ -112,7 +112,7 @@ if (s.size() > 12) return result; // 剪枝 如图: -![78.子集](https://code-thinking-1253855093.file.myqcloud.com/pics/202011232041348.png) +![78.子集](../images/20201107回溯周末总结-05.png) 认清这个本质之后,今天的题目就是一道模板题了。 diff --git "a/problems/\345\221\250\346\200\273\347\273\223/20201112\345\233\236\346\272\257\345\221\250\346\234\253\346\200\273\347\273\223.md" "b/problems/\345\221\250\346\200\273\347\273\223/20201112\345\233\236\346\272\257\345\221\250\346\234\253\346\200\273\347\273\223.md" index ec36d1213d..040564dae0 100644 --- "a/problems/\345\221\250\346\200\273\347\273\223/20201112\345\233\236\346\272\257\345\221\250\346\234\253\346\200\273\347\273\223.md" +++ "b/problems/\345\221\250\346\200\273\347\273\223/20201112\345\233\236\346\272\257\345\221\250\346\234\253\346\200\273\347\273\223.md" @@ -11,14 +11,14 @@ 树形结构如下: -![90.子集II](https://code-thinking-1253855093.file.myqcloud.com/pics/2020111217110449-20230310133150714.png) +![90.子集II](../images/20201112回溯周末总结-01.png) ## 周二 在[回溯算法:递增子序列](https://programmercarl.com/0491.递增子序列.html)中,处处都能看到子集的身影,但处处是陷阱,值得好好琢磨琢磨! 树形结构如下: -![491. 递增子序列1](https://code-thinking-1253855093.file.myqcloud.com/pics/20201112170832333-20230310133155209.png) +![491. 递增子序列1](../images/20201112回溯周末总结-02.png) [回溯算法:递增子序列](https://programmercarl.com/0491.递增子序列.html)留言区大家有很多疑问,主要还是和[回溯算法:求子集问题(二)](https://programmercarl.com/0090.子集II.html)混合在了一起。 @@ -33,7 +33,7 @@ 可以看出元素1在[1,2]中已经使用过了,但是在[2,1]中还要在使用一次1,所以处理排列问题就不用使用startIndex了。 如图: -![46.全排列](https://code-thinking-1253855093.file.myqcloud.com/pics/20201112170304979-20230310133201250.png) +![46.全排列](../images/20201112回溯周末总结-03.png) **大家此时可以感受出排列问题的不同:** @@ -46,7 +46,7 @@ 树形结构如下: -![47.全排列II1](https://code-thinking-1253855093.file.myqcloud.com/pics/20201112171930470-20230310133206398.png) +![47.全排列II1](../images/20201112回溯周末总结-04.png) **这道题目神奇的地方就是used[i - 1] == false也可以,used[i - 1] == true也可以!** @@ -54,11 +54,11 @@ 树层上去重(used[i - 1] == false),的树形结构如下: -![47.全排列II2.png](https://code-thinking-1253855093.file.myqcloud.com/pics/20201112172230434-20230310133211392.png) +![47.全排列II2.png](../images/20201112回溯周末总结-05.png) 树枝上去重(used[i - 1] == true)的树型结构如下: -![47.全排列II3](https://code-thinking-1253855093.file.myqcloud.com/pics/20201112172327967-20230310133216389.png) +![47.全排列II3](../images/20201112回溯周末总结-06.png) **可以清晰的看到使用(used[i - 1] == false),即树层去重,效率更高!** diff --git "a/problems/\345\221\250\346\200\273\347\273\223/20201203\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223.md" "b/problems/\345\221\250\346\200\273\347\273\223/20201203\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223.md" index 9209efda71..649ae15b18 100644 --- "a/problems/\345\221\250\346\200\273\347\273\223/20201203\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223.md" +++ "b/problems/\345\221\250\346\200\273\347\273\223/20201203\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223.md" @@ -15,7 +15,7 @@ 如图: -![122.买卖股票的最佳时机II](https://code-thinking-1253855093.file.myqcloud.com/pics/2020112917480858.png) +![122.买卖股票的最佳时机II](../images/20201203贪心周末总结-01.png) ## 周二 @@ -31,7 +31,7 @@ 如图: -![55.跳跃游戏](https://code-thinking-1253855093.file.myqcloud.com/pics/20201124154758229.png) +![55.跳跃游戏](../images/20201203贪心周末总结-02.png) ## 周三 @@ -44,7 +44,7 @@ 如图: -![45.跳跃游戏II](https://code-thinking-1253855093.file.myqcloud.com/pics/20201201232309103-20230310133110942.png) +![45.跳跃游戏II](../images/20201203贪心周末总结-03.png) 注意:**图中的移动下标是到当前这步覆盖的最远距离(下标2的位置),此时没有到终点,只能增加第二步来扩大覆盖范围**。 @@ -55,10 +55,10 @@ 而版本二就比较统一的,超过范围,步数就加一,但在移动下标的范围了做了文章。 即如果覆盖最远距离下标是倒数第二点:直接加一就行,默认一定可以到终点。如图: -![45.跳跃游戏II2](https://code-thinking-1253855093.file.myqcloud.com/pics/20201201232445286-20230310133115650.png) +![45.跳跃游戏II2](../images/20201203贪心周末总结-04.png) 如果覆盖最远距离下标不是倒数第二点,说明本次覆盖已经到终点了。如图: -![45.跳跃游戏II1](https://code-thinking-1253855093.file.myqcloud.com/pics/20201201232338693-20230310133120115.png) +![45.跳跃游戏II1](../images/20201203贪心周末总结-05.png) 有的录友认为版本一好理解,有的录友认为版本二好理解,其实掌握一种就可以了,也不用非要比拼一下代码的简洁性,简洁程度都差不多了。 diff --git "a/problems/\345\221\250\346\200\273\347\273\223/20201210\345\244\215\346\235\202\345\272\246\345\210\206\346\236\220\345\221\250\346\234\253\346\200\273\347\273\223.md" "b/problems/\345\221\250\346\200\273\347\273\223/20201210\345\244\215\346\235\202\345\272\246\345\210\206\346\236\220\345\221\250\346\234\253\346\200\273\347\273\223.md" index 461219f2da..8a0ec74211 100644 --- "a/problems/\345\221\250\346\200\273\347\273\223/20201210\345\244\215\346\235\202\345\272\246\345\210\206\346\236\220\345\221\250\346\234\253\346\200\273\347\273\223.md" +++ "b/problems/\345\221\250\346\200\273\347\273\223/20201210\345\244\215\346\235\202\345\272\246\345\210\206\346\236\220\345\221\250\346\234\253\346\200\273\347\273\223.md" @@ -77,7 +77,7 @@ 文中从计算机硬件出发,分析计算机的计算性能,然后亲自做实验,整理出数据如下: -![程序超时1](https://code-thinking-1253855093.file.myqcloud.com/pics/20201208231559175-20230310133304038.png) +![程序超时1](../images/20201210复杂度分析周末总结-01.png) **大家有一个数量级上的概念就可以了!** diff --git "a/problems/\345\221\250\346\200\273\347\273\223/20201217\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223.md" "b/problems/\345\221\250\346\200\273\347\273\223/20201217\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223.md" index 91f9656f48..2a84bfab85 100644 --- "a/problems/\345\221\250\346\200\273\347\273\223/20201217\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223.md" +++ "b/problems/\345\221\250\346\200\273\347\273\223/20201217\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223.md" @@ -38,7 +38,7 @@ 如图: -![135.分发糖果](https://code-thinking-1253855093.file.myqcloud.com/pics/20201117114916878-20230310133332759.png) +![135.分发糖果](../images/20201217贪心周末总结-01.png) 接着在贪心另一边,左孩子大于右孩子,左孩子的糖果就要比右孩子多。 @@ -50,7 +50,7 @@ 局部最优可以推出全局最优。 如图: -![135.分发糖果1](https://code-thinking-1253855093.file.myqcloud.com/pics/20201117115658791-20230310133346127.png) +![135.分发糖果1](../images/20201217贪心周末总结-02.png) ## 周三 diff --git "a/problems/\345\221\250\346\200\273\347\273\223/20201224\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223.md" "b/problems/\345\221\250\346\200\273\347\273\223/20201224\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223.md" index b37bba80dc..874019d0fb 100644 --- "a/problems/\345\221\250\346\200\273\347\273\223/20201224\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223.md" +++ "b/problems/\345\221\250\346\200\273\347\273\223/20201224\350\264\252\345\277\203\345\221\250\346\234\253\346\200\273\347\273\223.md" @@ -9,7 +9,7 @@ 如图: -![452.用最少数量的箭引爆气球](https://code-thinking-1253855093.file.myqcloud.com/pics/20201123101929791-20230310133845522.png) +![452.用最少数量的箭引爆气球](../images/20201224贪心周末总结-01.png) 模拟射气球的过程,很多同学真的要去模拟了,实时把气球从数组中移走,这么写的话就复杂了,从前向后遍历重复的只要跳过就可以的。 @@ -21,7 +21,7 @@ 如图: -![435.无重叠区间](https://code-thinking-1253855093.file.myqcloud.com/pics/20201221201553618.png) +![435.无重叠区间](../images/20201224贪心周末总结-02.png) 细心的同学就发现了,此题和 [贪心算法:用最少数量的箭引爆气球](https://programmercarl.com/0452.用最少数量的箭引爆气球.html)非常像。 @@ -71,7 +71,7 @@ public: 如图: -![763.划分字母区间](https://code-thinking-1253855093.file.myqcloud.com/pics/20201222191924417-20230310133855435.png) +![763.划分字母区间](../images/20201224贪心周末总结-03.png) ## 周四 @@ -86,7 +86,7 @@ public: 如图: -![56.合并区间](https://code-thinking-1253855093.file.myqcloud.com/pics/20201223200632791-20230310133859587.png) +![56.合并区间](../images/20201224贪心周末总结-04.png) ## 总结 diff --git "a/problems/\345\221\250\346\200\273\347\273\223/20210114\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223.md" "b/problems/\345\221\250\346\200\273\347\273\223/20210114\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223.md" index ebc720caa0..dfe4907d38 100644 --- "a/problems/\345\221\250\346\200\273\347\273\223/20210114\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223.md" +++ "b/problems/\345\221\250\346\200\273\347\273\223/20210114\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223.md" @@ -31,7 +31,7 @@ for (int i = 1; i < m; i++) { } ``` -![62.不同路径1](https://code-thinking-1253855093.file.myqcloud.com/pics/20201209113631392-20230310133703294.png) +![62.不同路径1](../images/20210114动规周末总结-01.png) ## 周二 @@ -45,7 +45,7 @@ dp[i][j]定义依然是:表示从(0 ,0)出发,到(i, j) 有dp[i][j]条 如图: -![63.不同路径II](https://code-thinking-1253855093.file.myqcloud.com/pics/20210104114513928-20230310133707783.png) +![63.不同路径II](../images/20210114动规周末总结-02.png) 这里难住了不少同学,代码如下: @@ -70,11 +70,11 @@ for (int i = 1; i < m; i++) { 拿示例1来举例如题: -![63.不同路径II1](https://code-thinking-1253855093.file.myqcloud.com/pics/20210104114548983-20230310133711888.png) +![63.不同路径II1](../images/20210114动规周末总结-03.png) 对应的dp table 如图: -![63.不同路径II2](https://code-thinking-1253855093.file.myqcloud.com/pics/20210104114610256-20230310133715981.png) +![63.不同路径II2](../images/20210114动规周末总结-04.png) ## 周三 @@ -111,7 +111,7 @@ for (int i = 3; i <= n ; i++) { 举例当n为10 的时候,dp数组里的数值,如下: -![343.整数拆分](https://code-thinking-1253855093.file.myqcloud.com/pics/20210104173021581-20230310133720552.png) +![343.整数拆分](../images/20210114动规周末总结-05.png) @@ -143,7 +143,7 @@ dp数组如何初始化:只需要初始化dp[0]就可以了,推导的基础 n为5时候的dp数组状态如图: -![96.不同的二叉搜索树3](https://code-thinking-1253855093.file.myqcloud.com/pics/20210107093253987-20230310133724531.png) +![96.不同的二叉搜索树3](../images/20210114动规周末总结-06.png) ## 总结 diff --git "a/problems/\345\221\250\346\200\273\347\273\223/20210121\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223.md" "b/problems/\345\221\250\346\200\273\347\273\223/20210121\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223.md" index 7bae5ca9ee..c1d6141830 100644 --- "a/problems/\345\221\250\346\200\273\347\273\223/20210121\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223.md" +++ "b/problems/\345\221\250\346\200\273\347\273\223/20210121\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223.md" @@ -17,7 +17,7 @@ 关于其他几种常用的背包,大家看这张图就了然于胸了: -![416.分割等和子集1](https://code-thinking-1253855093.file.myqcloud.com/pics/20210117171307407-20230310133624872.png) +![416.分割等和子集1](../images/20210121动规周末总结-01.png) 本文用动规五部曲详细讲解了01背包的二维dp数组的实现方法,大家其实可以发现最简单的是推导公式了,推导公式估计看一遍就记下来了,但难就难在确定初始化和遍历顺序上。 @@ -70,7 +70,7 @@ for(int i = 1; i < weight.size(); i++) { // 遍历物品 来看一下对应的dp数组的数值,如图: -![动态规划-背包问题4](https://code-thinking-1253855093.file.myqcloud.com/pics/20210118163425129-20230310133630224.jpg) +![动态规划-背包问题4](../images/20210121动规周末总结-02.jpg) 最终结果就是dp[2][4]。 @@ -122,7 +122,7 @@ for(int i = 0; i < weight.size(); i++) { // 遍历物品 一维dp,分别用物品0,物品1,物品2 来遍历背包,最终得到结果如下: -![动态规划-背包问题9](https://code-thinking-1253855093.file.myqcloud.com/pics/20210110103614769-20230310133634873.png) +![动态规划-背包问题9](../images/20210121动规周末总结-03.png) ## 周三 diff --git "a/problems/\345\221\250\346\200\273\347\273\223/20210128\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223.md" "b/problems/\345\221\250\346\200\273\347\273\223/20210128\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223.md" index e785af1228..6a1f42bbed 100644 --- "a/problems/\345\221\250\346\200\273\347\273\223/20210128\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223.md" +++ "b/problems/\345\221\250\346\200\273\347\273\223/20210128\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223.md" @@ -35,7 +35,7 @@ bagSize = (S + sum) / 2 = (3 + 5) / 2 = 4 dp数组状态变化如下: -![494.目标和](https://code-thinking-1253855093.file.myqcloud.com/pics/20210125120743274-20230310132918821.jpg) +![494.目标和](../images/20210128动规周末总结-01.jpg) ## 周二 @@ -73,7 +73,7 @@ dp[i][j] = max(dp[i][j], dp[i - zeroNum][j - oneNum] + 1); 最后dp数组的状态如下所示: -![474.一和零](https://code-thinking-1253855093.file.myqcloud.com/pics/20210120111201512-20230310132936011.jpg) +![474.一和零](../images/20210128动规周末总结-02.jpg) ## 周三 diff --git "a/problems/\345\221\250\346\200\273\347\273\223/20210225\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223.md" "b/problems/\345\221\250\346\200\273\347\273\223/20210225\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223.md" index 26d805bb3a..b69f4d7a6b 100644 --- "a/problems/\345\221\250\346\200\273\347\273\223/20210225\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223.md" +++ "b/problems/\345\221\250\346\200\273\347\273\223/20210225\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223.md" @@ -30,7 +30,7 @@ dp[1] = max(nums[0], nums[1]); 以示例二,输入[2,7,9,3,1]为例。 -![198.打家劫舍](https://code-thinking-1253855093.file.myqcloud.com/pics/20210221170954115-20230310133425353.jpg) +![198.打家劫舍](../images/20210225动规周末总结-01.jpg) 红框dp[nums.size() - 1]为结果。 @@ -42,15 +42,15 @@ dp[1] = max(nums[0], nums[1]); * 情况一:考虑不包含首尾元素 -![213.打家劫舍II](https://code-thinking-1253855093.file.myqcloud.com/pics/20210129160748643.jpg) +![213.打家劫舍II](../images/20210225动规周末总结-02.jpg) * 情况二:考虑包含首元素,不包含尾元素 -![213.打家劫舍II1](https://code-thinking-1253855093.file.myqcloud.com/pics/20210129160821374.jpg) +![213.打家劫舍II1](../images/20210225动规周末总结-03.jpg) * 情况三:考虑包含尾元素,不包含首元素 -![213.打家劫舍II2](https://code-thinking-1253855093.file.myqcloud.com/pics/20210129160842491.jpg) +![213.打家劫舍II2](../images/20210225动规周末总结-04.jpg) 需要注意的是,**“考虑” 不等于 “偷”**,例如情况三,虽然是考虑包含尾元素,但不一定要选尾部元素!对于情况三,取nums[1] 和 nums[3]就是最大的。 @@ -178,7 +178,7 @@ return {val2, val1}; 以示例1为例,dp数组状态如下:(**注意用后序遍历的方式推导**) -![337.打家劫舍III](https://code-thinking-1253855093.file.myqcloud.com/pics/20210129181331613.jpg) +![337.打家劫舍III](../images/20210225动规周末总结-05.jpg) **最后头结点就是 取下标0 和 下标1的最大值就是偷得的最大金钱**。 diff --git "a/problems/\345\221\250\346\200\273\347\273\223/20210304\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223.md" "b/problems/\345\221\250\346\200\273\347\273\223/20210304\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223.md" index ec442a3979..d176ca6b26 100644 --- "a/problems/\345\221\250\346\200\273\347\273\223/20210304\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223.md" +++ "b/problems/\345\221\250\346\200\273\347\273\223/20210304\345\212\250\350\247\204\345\221\250\346\234\253\346\200\273\347\273\223.md" @@ -77,7 +77,7 @@ dp[0][4] = 0; 以输入[1,2,3,4,5]为例 -![123.买卖股票的最佳时机III](https://code-thinking-1253855093.file.myqcloud.com/pics/20201228181724295.png) +![123.买卖股票的最佳时机III](../images/20210304动规周末总结-01.png) 可以看到红色框为最后两次卖出的状态。 @@ -144,7 +144,7 @@ for (int j = 1; j < 2 * k; j += 2) { 以输入[1,2,3,4,5],k=2为例。 -![188.买卖股票的最佳时机IV](https://code-thinking-1253855093.file.myqcloud.com/pics/20201229100358221-20230310133805763.png) +![188.买卖股票的最佳时机IV](../images/20210304动规周末总结-02.png) 最后一次卖出,一定是利润最大的,dp[prices.size() - 1][2 * k]即红色部分就是最后求解。 @@ -197,7 +197,7 @@ vector> dp(n, vector(3, 0)); 以 [1,2,3,0,2] 为例,dp数组如下: -![309.最佳买卖股票时机含冷冻期](https://code-thinking-1253855093.file.myqcloud.com/pics/20201229163725348.png) +![309.最佳买卖股票时机含冷冻期](../images/20210304动规周末总结-03.png) 最后两个状态 不持有股票(能购买) 和 不持有股票(冷冻期)都有可能最后结果,取最大的。 diff --git "a/problems/\345\223\210\345\270\214\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200.md" "b/problems/\345\223\210\345\270\214\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200.md" index 825c465719..15fc17f31a 100644 --- "a/problems/\345\223\210\345\270\214\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200.md" +++ "b/problems/\345\223\210\345\270\214\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200.md" @@ -20,7 +20,7 @@ 哈希表中关键码就是数组的索引下标,然后通过下标直接访问数组中的元素,如下图所示: -![哈希表1](https://code-thinking-1253855093.file.myqcloud.com/pics/20210104234805168.png) +![哈希表1](images/哈希表理论基础-01.png) 那么哈希表能解决什么问题呢,**一般哈希表都是用来快速判断一个元素是否出现集合里。** @@ -38,7 +38,7 @@ 哈希函数如下图所示,通过hashCode把名字转化为数值,一般hashcode是通过特定编码方式,可以将其他数据格式转化为不同的数值,这样就把学生名字映射为哈希表上的索引数字了。 -![哈希表2](https://code-thinking-1253855093.file.myqcloud.com/pics/2021010423484818.png) +![哈希表2](images/哈希表理论基础-02.png) 如果hashCode得到的数值大于 哈希表的大小了,也就是大于tableSize了,怎么办呢? @@ -54,7 +54,7 @@ 如图所示,小李和小王都映射到了索引下标 1 的位置,**这一现象叫做哈希碰撞**。 -![哈希表3](https://code-thinking-1253855093.file.myqcloud.com/pics/2021010423494884.png) +![哈希表3](images/哈希表理论基础-03.png) 一般哈希碰撞有两种解决方法, 拉链法和线性探测法。 @@ -62,7 +62,7 @@ 刚刚小李和小王在索引1的位置发生了冲突,发生冲突的元素都被存储在链表中。 这样我们就可以通过索引找到小李和小王了 -![哈希表4](https://code-thinking-1253855093.file.myqcloud.com/pics/20210104235015226.png) +![哈希表4](images/哈希表理论基础-04.png) (数据规模是dataSize, 哈希表的大小为tableSize) @@ -74,7 +74,7 @@ 例如冲突的位置,放了小李,那么就向下找一个空位放置小王的信息。所以要求tableSize一定要大于dataSize ,要不然哈希表上就没有空置的位置来存放 冲突的数据了。如图所示: -![哈希表5](https://code-thinking-1253855093.file.myqcloud.com/pics/20210104235109950.png) +![哈希表5](images/哈希表理论基础-05.png) 其实关于哈希碰撞还有非常多的细节,感兴趣的同学可以再好好研究一下,这里我就不再赘述了。 @@ -119,7 +119,7 @@ std::unordered_map 底层实现为哈希表,std::map 和std::multimap 的底 实际上功能都是一样一样的, 但是unordered_set在C++11的时候被引入标准库了,而hash_set并没有,所以建议还是使用unordered_set比较好,这就好比一个是官方认证的,hash_set,hash_map 是C++11标准之前民间高手自发造的轮子。 -![哈希表6](https://code-thinking-1253855093.file.myqcloud.com/pics/20210104235134572.png) +![哈希表6](images/哈希表理论基础-06.png) ## 总结 diff --git "a/problems/\345\233\236\346\272\257\346\200\273\347\273\223.md" "b/problems/\345\233\236\346\272\257\346\200\273\347\273\223.md" index 8d9b78c4b9..8db888969d 100644 --- "a/problems/\345\233\236\346\272\257\346\200\273\347\273\223.md" +++ "b/problems/\345\233\236\346\272\257\346\200\273\347\273\223.md" @@ -65,7 +65,7 @@ void backtracking(参数) { 本题我把回溯问题抽象为树形结构,如题: -![77.组合1](https://code-thinking-1253855093.file.myqcloud.com/pics/20201118152928844.png) +![77.组合1](images/回溯总结-01.png) 可以直观的看出其搜索的过程:**for循环横向遍历,递归纵向遍历,回溯不断调整结果集**,这个理念贯穿整个回溯法系列,也是我做了很多回溯的题目,不断摸索其规律才总结出来的。 @@ -75,7 +75,7 @@ void backtracking(参数) { 优化回溯算法只有剪枝一种方法,在[回溯算法:组合问题再剪剪枝](https://programmercarl.com/0077.组合优化.html)中把回溯法代码做了剪枝优化,树形结构如图: -![77.组合4](https://code-thinking-1253855093.file.myqcloud.com/pics/20201118153133458.png) +![77.组合4](images/回溯总结-02.png) 大家可以一目了然剪的究竟是哪里。 @@ -91,11 +91,11 @@ void backtracking(参数) { 在[回溯算法:求组合总和!](https://programmercarl.com/0216.组合总和III.html)中,相当于 [回溯算法:求组合问题!](https://programmercarl.com/0077.组合.html)加了一个元素总和的限制。 树形结构如图: -![216.组合总和III](https://code-thinking-1253855093.file.myqcloud.com/pics/20201118201921245.png) +![216.组合总和III](images/回溯总结-03.png) 整体思路还是一样的,本题的剪枝会好想一些,即:**已选元素总和如果已经大于n(题中要求的和)了,那么往后遍历就没有意义了,直接剪掉**,如图: -![216.组合总和III1](https://code-thinking-1253855093.file.myqcloud.com/pics/20201118202038240.png) +![216.组合总和III1](images/回溯总结-04.png) 在本题中,依然还可以有一个剪枝,就是[回溯算法:组合问题再剪剪枝](https://programmercarl.com/0077.组合优化.html)中提到的,对for循环选择的起始范围的剪枝。 @@ -116,7 +116,7 @@ void backtracking(参数) { **注意以上我只是说求组合的情况,如果是排列问题,又是另一套分析的套路**。 树形结构如下: -![39.组合总和](https://code-thinking-1253855093.file.myqcloud.com/pics/20201223170730367.png) +![39.组合总和](images/回溯总结-05.png) 最后还给出了本题的剪枝优化,如下: @@ -127,7 +127,7 @@ for (int i = startIndex; i < candidates.size() && sum + candidates[i] <= target; 优化后树形结构如下: -![39.组合总和1](https://code-thinking-1253855093.file.myqcloud.com/pics/20201118202115929.png) +![39.组合总和1](images/回溯总结-06.png) #### 组合总和(三) @@ -142,7 +142,7 @@ for (int i = startIndex; i < candidates.size() && sum + candidates[i] <= target; 都知道组合问题可以抽象为树形结构,那么“使用过”在这个树形结构上是有两个维度的,一个维度是同一树枝上“使用过”,一个维度是同一树层上“使用过”。**没有理解这两个层面上的“使用过” 是造成大家没有彻底理解去重的根本原因**。 -![40.组合总和II1](https://code-thinking-1253855093.file.myqcloud.com/pics/2020111820220675.png) +![40.组合总和II1](images/回溯总结-07.png) 我在图中将used的变化用橘黄色标注上,**可以看出在candidates[i] == candidates[i - 1]相同的情况下:** @@ -163,7 +163,7 @@ for (int i = startIndex; i < candidates.size() && sum + candidates[i] <= target; 树形结构如下: -![17. 电话号码的字母组合](https://code-thinking-1253855093.file.myqcloud.com/pics/20201118202335724.png) +![17. 电话号码的字母组合](images/回溯总结-08.png) 如果大家在现场面试的时候,一定要注意各种输入异常的情况,例如本题输入1 * #按键。 @@ -191,7 +191,7 @@ for (int i = startIndex; i < candidates.size() && sum + candidates[i] <= target; 树形结构如下: -![131.分割回文串](https://code-thinking-1253855093.file.myqcloud.com/pics/20201118202448642.png) +![131.分割回文串](images/回溯总结-09.png) ## 子集问题 @@ -202,7 +202,7 @@ for (int i = startIndex; i < candidates.size() && sum + candidates[i] <= target; 如图: -![78.子集](https://code-thinking-1253855093.file.myqcloud.com/pics/20201118202544339.png) +![78.子集](images/回溯总结-10.png) 认清这个本质之后,今天的题目就是一道模板题了。 @@ -229,14 +229,14 @@ if (startIndex >= nums.size()) { // 终止条件可以不加 树形结构如下: -![90.子集II](https://code-thinking-1253855093.file.myqcloud.com/pics/2020111217110449.png) +![90.子集II](images/回溯总结-11.png) ### 递增子序列 在[回溯算法:递增子序列](https://programmercarl.com/0491.递增子序列.html)中,处处都能看到子集的身影,但处处是陷阱,值得好好琢磨琢磨! 树形结构如下: -![491. 递增子序列1](https://code-thinking-1253855093.file.myqcloud.com/pics/20201112170832333.png) +![491. 递增子序列1](images/回溯总结-12.png) 很多同学都会把这道题目和[回溯算法:求子集问题(二)](https://programmercarl.com/0090.子集II.html)混在一起。 @@ -245,7 +245,7 @@ if (startIndex >= nums.size()) { // 终止条件可以不加 我用没有排序的集合{2,1,2,2}来举个例子画一个图,如下: -![90.子集II2](https://code-thinking-1253855093.file.myqcloud.com/pics/2020111316440479.png) +![90.子集II2](images/回溯总结-13.png) **相信这个图胜过千言万语的解释了**。 @@ -261,7 +261,7 @@ if (startIndex >= nums.size()) { // 终止条件可以不加 如图: -![46.全排列](https://code-thinking-1253855093.file.myqcloud.com/pics/20201112170304979.png) +![46.全排列](images/回溯总结-14.png) **大家此时可以感受出排列问题的不同:** @@ -274,7 +274,7 @@ if (startIndex >= nums.size()) { // 终止条件可以不加 树形结构如下: -![47.全排列II1](https://code-thinking-1253855093.file.myqcloud.com/pics/20201112171930470.png) +![47.全排列II1](images/回溯总结-15.png) **这道题目神奇的地方就是used[i - 1] == false也可以,used[i - 1] == true也可以!** @@ -282,11 +282,11 @@ if (startIndex >= nums.size()) { // 终止条件可以不加 树层上去重(used[i - 1] == false),的树形结构如下: -![47.全排列II2.png](https://code-thinking-1253855093.file.myqcloud.com/pics/20201112172230434.png) +![47.全排列II2.png](images/回溯总结-16.png) 树枝上去重(used[i - 1] == true)的树型结构如下: -![47.全排列II3](https://code-thinking-1253855093.file.myqcloud.com/pics/20201112172327967.png) +![47.全排列II3](images/回溯总结-17.png) **可以清晰的看到使用(used[i - 1] == false),即树层去重,效率更高!** @@ -320,7 +320,7 @@ used数组可是全局变量,每层与每层之间公用一个used数组,所 以输入:[["JFK", "KUL"], ["JFK", "NRT"], ["NRT", "JFK"]为例,抽象为树形结构如下: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/2020111518065555.png) +![](images/回溯总结-18.png) 本题可以算是一道hard的题目了,关于本题的难点我在文中已经详细列出。 @@ -337,7 +337,7 @@ used数组可是全局变量,每层与每层之间公用一个used数组,所 下面我用一个3 * 3 的棋盘,将搜索过程抽象为一棵树,如图: -![51.N皇后](https://code-thinking-1253855093.file.myqcloud.com/pics/20201118225433127.png) +![51.N皇后](images/回溯总结-19.png) 从图中,可以看出,二维矩阵中矩阵的高就是这棵树的高度,矩阵的宽就是树形结构中每一个节点的宽度。 @@ -365,7 +365,7 @@ used数组可是全局变量,每层与每层之间公用一个used数组,所 因为这个树形结构太大了,我抽取一部分,如图所示: -![37.解数独](https://code-thinking-1253855093.file.myqcloud.com/pics/2020111720451790.png) +![37.解数独](images/回溯总结-20.png) 解数独可以说是非常难的题目了,如果还一直停留在一维递归的逻辑中,这道题目可以让大家瞬间崩溃。 @@ -440,7 +440,7 @@ N皇后问题分析: 回溯专题汇聚为一张图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20211030124742.png) +![](images/回溯总结-21.png) 这个图是 [代码随想录知识星球](https://programmercarl.com/other/kstar.html) 成员:[莫非毛](https://wx.zsxq.com/dweb2/index/footprint/828844212542),所画,总结的非常好,分享给大家。 diff --git "a/problems/\345\233\236\346\272\257\347\256\227\346\263\225\345\216\273\351\207\215\351\227\256\351\242\230\347\232\204\345\217\246\344\270\200\347\247\215\345\206\231\346\263\225.md" "b/problems/\345\233\236\346\272\257\347\256\227\346\263\225\345\216\273\351\207\215\351\227\256\351\242\230\347\232\204\345\217\246\344\270\200\347\247\215\345\206\231\346\263\225.md" index 96dfeffec3..c93ed8010d 100644 --- "a/problems/\345\233\236\346\272\257\347\256\227\346\263\225\345\216\273\351\207\215\351\227\256\351\242\230\347\232\204\345\217\246\344\270\200\347\247\215\345\206\231\346\263\225.md" +++ "b/problems/\345\233\236\346\272\257\347\256\227\346\263\225\345\216\273\351\207\215\351\227\256\351\242\230\347\232\204\345\217\246\344\270\200\347\247\215\345\206\231\346\263\225.md" @@ -17,7 +17,7 @@ 我用没有排序的集合{2,1,2,2}来举例子画一个图,如图: -![90.子集II2](https://code-thinking-1253855093.file.myqcloud.com/pics/2020111316440479-20230310121930316.png) +![90.子集II2](images/回溯算法去重问题的另一种写法-01.png) 图中,大家就很明显的看到,子集重复了。 @@ -97,7 +97,7 @@ private: 如图: -![90.子集II1](https://code-thinking-1253855093.file.myqcloud.com/pics/202011131625054.png) +![90.子集II1](images/回溯算法去重问题的另一种写法-02.png) 可以看出一旦把unordered_set uset放在类成员位置,它控制的就是整棵树,包括树枝。 diff --git "a/problems/\345\233\236\346\272\257\347\256\227\346\263\225\347\220\206\350\256\272\345\237\272\347\241\200.md" "b/problems/\345\233\236\346\272\257\347\256\227\346\263\225\347\220\206\350\256\272\345\237\272\347\241\200.md" index 862fb101a1..a908c36bbf 100644 --- "a/problems/\345\233\236\346\272\257\347\256\227\346\263\225\347\220\206\350\256\272\345\237\272\347\241\200.md" +++ "b/problems/\345\233\236\346\272\257\347\256\227\346\263\225\347\220\206\350\256\272\345\237\272\347\241\200.md" @@ -8,7 +8,7 @@ ## 题目分类 -回溯算法大纲 +回溯算法大纲 ## 算法公开课 @@ -116,7 +116,7 @@ if (终止条件) { 如图: -![回溯算法理论基础](https://code-thinking-1253855093.file.myqcloud.com/pics/20210130173631174.png) +![回溯算法理论基础](images/回溯算法理论基础-02.png) 注意图中,我特意举例集合大小和孩子的数量是相等的! diff --git "a/problems/\346\225\260\347\273\204\346\200\273\347\273\223\347\257\207.md" "b/problems/\346\225\260\347\273\204\346\200\273\347\273\223\347\257\207.md" index 7c2fd94724..b77c87470c 100644 --- "a/problems/\346\225\260\347\273\204\346\200\273\347\273\223\347\257\207.md" +++ "b/problems/\346\225\260\347\273\204\346\200\273\347\273\223\347\257\207.md" @@ -20,7 +20,7 @@ 举一个字符数组的例子,如图所示: - + 需要两点注意的是 @@ -31,7 +31,7 @@ 例如删除下标为3的元素,需要对下标为3的元素后面的所有元素都要做移动操作,如图所示: - + 而且大家如果使用C++的话,要注意vector 和 array的区别,vector的底层实现是array,严格来讲vector是容器,不是数组。 @@ -39,7 +39,7 @@ 那么二维数组直接上图,大家应该就知道怎么回事了 - + **那么二维数组在内存的空间地址是连续的么?** @@ -47,7 +47,7 @@ 看了下图,就应该明白了: - + 所以**Java的二维数组在内存中不是 `3*4` 的连续地址空间,而是四条连续的地址空间组成!** @@ -127,7 +127,7 @@ ## 总结 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/数组总结.png) +![](images/数组总结篇-05.png) 这个图是 [代码随想录知识星球](https://programmercarl.com/other/kstar.html) 成员:[海螺人](https://wx.zsxq.com/dweb2/index/footprint/844412858822412),所画,总结的非常好,分享给大家。 diff --git "a/problems/\346\225\260\347\273\204\347\220\206\350\256\272\345\237\272\347\241\200.md" "b/problems/\346\225\260\347\273\204\347\220\206\350\256\272\345\237\272\347\241\200.md" index e6d25c15e6..08a32782c1 100644 --- "a/problems/\346\225\260\347\273\204\347\220\206\350\256\272\345\237\272\347\241\200.md" +++ "b/problems/\346\225\260\347\273\204\347\220\206\350\256\272\345\237\272\347\241\200.md" @@ -20,7 +20,7 @@ 举一个字符数组的例子,如图所示: -![算法通关数组](https://code-thinking.cdn.bcebos.com/pics/%E7%AE%97%E6%B3%95%E9%80%9A%E5%85%B3%E6%95%B0%E7%BB%84.png) +![算法通关数组](images/数组理论基础-01.png) @@ -33,7 +33,7 @@ 例如删除下标为3的元素,需要对下标为3的元素后面的所有元素都要做移动操作,如图所示: -![算法通关数组1](https://code-thinking.cdn.bcebos.com/pics/%E7%AE%97%E6%B3%95%E9%80%9A%E5%85%B3%E6%95%B0%E7%BB%841.png) +![算法通关数组1](images/数组理论基础-02.png) 而且大家如果使用C++的话,要注意vector 和 array的区别,vector的底层实现是array,严格来讲vector是容器,不是数组。 @@ -42,7 +42,7 @@ 那么二维数组直接上图,大家应该就知道怎么回事了 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240606105522.png) +![](images/数组理论基础-03.png) **那么二维数组在内存的空间地址是连续的么?** @@ -82,7 +82,7 @@ int main() { 如图: -![数组内存](https://code-thinking-1253855093.file.myqcloud.com/pics/20210310150641186.png) +![数组内存](images/数组理论基础-04.png) **所以可以看出在C++中二维数组在地址空间上是连续的**。 @@ -113,7 +113,7 @@ public static void test_arr() { 所以Java的二维数组可能是如下排列的方式: -![算法通关数组3](https://code-thinking-1253855093.file.myqcloud.com/pics/20201214111631844.png) +![算法通关数组3](images/数组理论基础-05.png) 这里面试中数组相关的理论知识就介绍完了。 diff --git "a/problems/\346\240\210\344\270\216\351\230\237\345\210\227\347\220\206\350\256\272\345\237\272\347\241\200.md" "b/problems/\346\240\210\344\270\216\351\230\237\345\210\227\347\220\206\350\256\272\345\237\272\347\241\200.md" index 21c61a4c8b..afbfc3f5f6 100644 --- "a/problems/\346\240\210\344\270\216\351\230\237\345\210\227\347\220\206\350\256\272\345\237\272\347\241\200.md" +++ "b/problems/\346\240\210\344\270\216\351\230\237\345\210\227\347\220\206\350\256\272\345\237\272\347\241\200.md" @@ -13,7 +13,7 @@ 如图所示: -![栈与队列理论1](https://code-thinking-1253855093.file.myqcloud.com/pics/20210104235346563.png) +![栈与队列理论1](images/栈与队列理论基础-01.png) 那么我这里再列出四个关于栈的问题,大家可以思考一下。以下是以C++为例,使用其他编程语言的同学也对应思考一下,自己使用的编程语言里栈和队列是什么样的。 @@ -48,7 +48,7 @@ C++标准库是有多个版本的,要知道我们使用的STL是哪个版本 来说一说栈,栈先进后出,如图所示: -![栈与队列理论2](https://code-thinking-1253855093.file.myqcloud.com/pics/20210104235434905.png) +![栈与队列理论2](images/栈与队列理论基础-02.png) 栈提供push 和 pop 等等接口,所有元素必须符合先进后出规则,所以栈不提供走访功能,也不提供迭代器(iterator)。 不像是set 或者map 提供迭代器iterator来遍历所有元素。 @@ -61,7 +61,7 @@ C++标准库是有多个版本的,要知道我们使用的STL是哪个版本 从下图中可以看出,栈的内部结构,栈的底层实现可以是vector,deque,list 都是可以的, 主要就是数组和链表的底层实现。 -![栈与队列理论3](https://code-thinking-1253855093.file.myqcloud.com/pics/20210104235459376.png) +![栈与队列理论3](images/栈与队列理论基础-03.png) **我们常用的SGI STL,如果没有指定底层实现的话,默认是以deque为缺省情况下栈的底层结构。** diff --git "a/problems/\346\240\271\346\215\256\350\272\253\351\253\230\351\207\215\345\273\272\351\230\237\345\210\227\357\274\210vector\345\216\237\347\220\206\350\256\262\350\247\243\357\274\211.md" "b/problems/\346\240\271\346\215\256\350\272\253\351\253\230\351\207\215\345\273\272\351\230\237\345\210\227\357\274\210vector\345\216\237\347\220\206\350\256\262\350\247\243\357\274\211.md" index 70a9a97a19..a42e368d0f 100644 --- "a/problems/\346\240\271\346\215\256\350\272\253\351\253\230\351\207\215\345\273\272\351\230\237\345\210\227\357\274\210vector\345\216\237\347\220\206\350\256\262\350\247\243\357\274\211.md" +++ "b/problems/\346\240\271\346\215\256\350\272\253\351\253\230\351\207\215\345\273\272\351\230\237\345\210\227\357\274\210vector\345\216\237\347\220\206\350\256\262\350\247\243\357\274\211.md" @@ -37,7 +37,7 @@ public: ``` 耗时如下: -![vectorinsert](https://code-thinking-1253855093.file.myqcloud.com/pics/20201218203611181.png) +![vectorinsert](images/根据身高重建队列(vector原理讲解)-01.png) 其直观上来看数组的insert操作是O(n)的,整体代码的时间复杂度是O(n^2)。 @@ -70,7 +70,7 @@ public: 耗时如下: -![使用链表](https://code-thinking-1253855093.file.myqcloud.com/pics/20201218200756257.png) +![使用链表](images/根据身高重建队列(vector原理讲解)-02.png) 大家都知道对于普通数组,一旦定义了大小就不能改变,例如int a[10];,这个数组a至多只能放10个元素,改不了的。 @@ -97,7 +97,7 @@ for (int i = 0; i < vec.size(); i++) { 就是重新申请一个二倍于原数组大小的数组,然后把数据都拷贝过去,并释放原数组内存。(对,就是这么原始粗暴的方法!) 举一个例子,如图: -![vector原理](https://code-thinking-1253855093.file.myqcloud.com/pics/20201218185902217.png) +![vector原理](images/根据身高重建队列(vector原理讲解)-03.png) 原vector中的size和capicity相同都是3,初始化为1 2 3,此时要push_back一个元素4。 @@ -140,7 +140,7 @@ public: 耗时如下: -![vector手动模拟insert](https://code-thinking-1253855093.file.myqcloud.com/pics/20201218200626718.png) +![vector手动模拟insert](images/根据身高重建队列(vector原理讲解)-04.png) 这份代码就是不让vector动态扩容,全程我们自己模拟insert的操作,大家也可以直观的看出是一个O(n^2)的方法了。 diff --git "a/problems/\350\203\214\345\214\205\346\200\273\347\273\223\347\257\207.md" "b/problems/\350\203\214\345\214\205\346\200\273\347\273\223\347\257\207.md" index 651a92a804..c3447b8828 100644 --- "a/problems/\350\203\214\345\214\205\346\200\273\347\273\223\347\257\207.md" +++ "b/problems/\350\203\214\345\214\205\346\200\273\347\273\223\347\257\207.md" @@ -13,7 +13,7 @@ 关于这几种常见的背包,其关系如下: -![416.分割等和子集1](https://code-thinking-1253855093.file.myqcloud.com/pics/20230310000726.png) +![416.分割等和子集1](images/背包总结篇-01.png) 通过这个图,可以很清晰分清这几种常见背包之间的关系。 @@ -95,7 +95,7 @@ 背包问题总结: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/背包问题1.jpeg) +![](images/背包总结篇-02.jpeg) 这个图是 [代码随想录知识星球](https://programmercarl.com/other/kstar.html) 成员:[海螺人](https://wx.zsxq.com/dweb2/index/footprint/844412858822412),所画结的非常好,分享给大家。 diff --git "a/problems/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-1.md" "b/problems/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-1.md" index d9b953c0b3..a69c014dad 100644 --- "a/problems/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-1.md" +++ "b/problems/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-1.md" @@ -23,7 +23,7 @@ 如果这几种背包,分不清,我这里画了一个图,如下: -![416.分割等和子集1](https://code-thinking-1253855093.file.myqcloud.com/pics/20210117171307407.png) +![416.分割等和子集1](images/背包理论基础01背包-1-01.png) 除此以外其他类型的背包,面试几乎不会问,都是竞赛级别的了,leetcode上连多重背包的题目都没有,所以题库也告诉我们,01背包和完全背包就够用了。 @@ -79,7 +79,7 @@ leetcode上没有纯01背包的问题,都是01背包应用方面的题目, 如图,二维数组为 dp[i][j]。 -![动态规划-背包问题1](https://code-thinking-1253855093.file.myqcloud.com/pics/20210110103003361.png) +![动态规划-背包问题1](images/背包理论基础01背包-1-02.png) 那么这里 i 、j、dp[i][j] 分别表示什么呢? @@ -93,7 +93,7 @@ i 来表示物品、j表示背包容量。 我们先看把物品0 放入背包的情况: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240730113455.png) +![](images/背包理论基础01背包-1-03.png) 背包容量为0,放不下物品0,此时背包里的价值为0。 @@ -105,7 +105,7 @@ i 来表示物品、j表示背包容量。 再看把物品1 放入背包: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240730114228.png) +![](images/背包理论基础01背包-1-04.png) 背包容量为 0,放不下物品0 或者物品1,此时背包里的价值为0。 @@ -152,7 +152,7 @@ i 来表示物品、j表示背包容量。 推导方向如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240730174246.png) +![](images/背包理论基础01背包-1-05.png) 如果放物品1, **那么背包要先留出物品1的容量**,目前容量是4,物品1 的容量(就是物品1的重量)为3,此时背包剩下容量为1。 @@ -160,7 +160,7 @@ i 来表示物品、j表示背包容量。 所以 放物品1 的情况 = dp[0][1] + 物品1 的价值,推导方向如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20240730174436.png) +![](images/背包理论基础01背包-1-06.png) 两种情况,分别是放物品1 和 不放物品1,我们要取最大值(毕竟求的是最大价值) @@ -180,7 +180,7 @@ i 来表示物品、j表示背包容量。 首先从dp[i][j]的定义出发,如果背包容量j为0的话,即dp[i][0],无论是选取哪些物品,背包价值总和一定为0。如图: -![动态规划-背包问题2](https://code-thinking-1253855093.file.myqcloud.com/pics/2021011010304192.png) +![动态规划-背包问题2](images/背包理论基础01背包-1-07.png) 在看其他情况。 @@ -207,7 +207,7 @@ for (int j = weight[0]; j <= bagweight; j++) { 此时dp数组初始化情况如图所示: -![动态规划-背包问题7](https://code-thinking-1253855093.file.myqcloud.com/pics/20210110103109140.png) +![动态规划-背包问题7](images/背包理论基础01背包-1-08.png) dp[0][j] 和 dp[i][0] 都已经初始化了,那么其他下标应该初始化多少呢? @@ -219,7 +219,7 @@ dp[0][j] 和 dp[i][0] 都已经初始化了,那么其他下标应该初始化 如图: -![动态规划-背包问题10](https://code-thinking-1253855093.file.myqcloud.com/pics/%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92-%E8%83%8C%E5%8C%85%E9%97%AE%E9%A2%9810.jpg) +![动态规划-背包问题10](images/背包理论基础01背包-1-09.jpg) 最后初始化代码如下: @@ -238,7 +238,7 @@ for (int j = weight[0]; j <= bagweight; j++) { 在如下图中,可以看出,有两个遍历的维度:物品与背包重量 -![动态规划-背包问题3](https://code-thinking-1253855093.file.myqcloud.com/pics/2021011010314055.png) +![动态规划-背包问题3](images/背包理论基础01背包-1-10.png) 那么问题来了,**先遍历 物品还是先遍历背包重量呢?** @@ -279,11 +279,11 @@ for(int j = 0; j <= bagweight; j++) { // 遍历背包容量 dp[i-1][j]和dp[i - 1][j - weight[i]] 都在dp[i][j]的左上角方向(包括正上方向),那么先遍历物品,再遍历背包的过程如图所示: -![动态规划-背包问题5](https://code-thinking-1253855093.file.myqcloud.com/pics/202101101032124.png) +![动态规划-背包问题5](images/背包理论基础01背包-1-11.png) 再来看看先遍历背包,再遍历物品呢,如图: -![动态规划-背包问题6](https://code-thinking-1253855093.file.myqcloud.com/pics/20210110103244701.png) +![动态规划-背包问题6](images/背包理论基础01背包-1-12.png) **大家可以看出,虽然两个for循环遍历的次序不同,但是dp[i][j]所需要的数据就是左上角,根本不影响dp[i][j]公式的推导!** @@ -295,7 +295,7 @@ dp[i-1][j]和dp[i - 1][j - weight[i]] 都在dp[i][j]的左上角方向(包括 来看一下对应的dp数组的数值,如图: -![动态规划-背包问题4](https://code-thinking-1253855093.file.myqcloud.com/pics/20210118163425129.jpg) +![动态规划-背包问题4](images/背包理论基础01背包-1-13.jpg) 最终结果就是dp[2][4]。 diff --git "a/problems/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-2.md" "b/problems/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-2.md" index b5862bb52b..db981f508a 100644 --- "a/problems/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-2.md" +++ "b/problems/\350\203\214\345\214\205\347\220\206\350\256\272\345\237\272\347\241\20001\350\203\214\345\214\205-2.md" @@ -165,7 +165,7 @@ dp[1] = dp[1 - weight[0]] + value[0] = 15 一维dp,分别用物品0,物品1,物品2 来遍历背包,最终得到结果如下: -![动态规划-背包问题9](https://code-thinking-1253855093.file.myqcloud.com/pics/20210110103614769.png) +![动态规划-背包问题9](images/背包理论基础01背包-2-01.png) 本题力扣上没有原题,大家可以去[卡码网第46题](https://kamacoder.com/problempage.php?pid=1046)去练习,题意是一样的,代码如下: diff --git "a/problems/\350\203\214\345\214\205\351\227\256\351\242\230\345\256\214\345\205\250\350\203\214\345\214\205\344\270\200\347\273\264.md" "b/problems/\350\203\214\345\214\205\351\227\256\351\242\230\345\256\214\345\205\250\350\203\214\345\214\205\344\270\200\347\273\264.md" index a8e241c3ba..7d4ba8715e 100644 --- "a/problems/\350\203\214\345\214\205\351\227\256\351\242\230\345\256\214\345\205\250\350\203\214\345\214\205\344\270\200\347\273\264.md" +++ "b/problems/\350\203\214\345\214\205\351\227\256\351\242\230\345\256\214\345\205\250\350\203\214\345\214\205\344\270\200\347\273\264.md" @@ -51,11 +51,11 @@ for (int i = 1; i < n; i++) { // 遍历物品 遍历物品在外层循环,遍历背包容量在内层循环,状态如图: -![动态规划-完全背包1](https://code-thinking-1253855093.file.myqcloud.com/pics/20210126104529605.jpg) +![动态规划-完全背包1](images/背包问题完全背包一维-01.jpg) 遍历背包容量在外层循环,遍历物品在内层循环,状态如图: -![动态规划-完全背包2](https://code-thinking-1253855093.file.myqcloud.com/pics/20210729234011.png) +![动态规划-完全背包2](images/背包问题完全背包一维-02.png) 看了这两个图,大家就会理解,完全背包中,两个for循环的先后循序,都不影响计算dp[j]所需要的值(这个值就是下标j之前所对应的dp[j])。 diff --git "a/problems/\350\203\214\345\214\205\351\227\256\351\242\230\347\220\206\350\256\272\345\237\272\347\241\200\345\256\214\345\205\250\350\203\214\345\214\205.md" "b/problems/\350\203\214\345\214\205\351\227\256\351\242\230\347\220\206\350\256\272\345\237\272\347\241\200\345\256\214\345\205\250\350\203\214\345\214\205.md" index ea658f7e51..6ddecaf086 100644 --- "a/problems/\350\203\214\345\214\205\351\227\256\351\242\230\347\220\206\350\256\272\345\237\272\347\241\200\345\256\214\345\205\250\350\203\214\345\214\205.md" +++ "b/problems/\350\203\214\345\214\205\351\227\256\351\242\230\347\220\206\350\256\272\345\237\272\347\241\200\345\256\214\345\205\250\350\203\214\345\214\205.md" @@ -68,7 +68,7 @@ 推导方向如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20241126112952.png) +![](images/背包问题理论基础完全背包-01.png) 如果放物品1, **那么背包要先留出物品1的容量**,目前容量是4,物品1 的容量(就是物品1的重量)为3,此时背包剩下容量为1。 @@ -80,7 +80,7 @@ 所以 放物品1 的情况 = dp[1][1] + 物品1 的价值,推导方向如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20241126113104.png) +![](images/背包问题理论基础完全背包-02.png) (**注意上图和 [01背包理论基础(二维数组)](https://programmercarl.com/背包理论基础01背包-1.html) 中的区别**,对于理解完全背包很重要) @@ -105,7 +105,7 @@ 首先从dp[i][j]的定义出发,如果背包容量j为0的话,即dp[i][0],无论是选取哪些物品,背包价值总和一定为0。如图: -![动态规划-背包问题2](https://code-thinking-1253855093.file.myqcloud.com/pics/2021011010304192.png) +![动态规划-背包问题2](images/背包问题理论基础完全背包-03.png) 在看其他情况。 @@ -134,7 +134,7 @@ for (int j = weight[0]; j <= bagWeight; j++) 此时dp数组初始化情况如图所示: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20241114161608.png) +![](images/背包问题理论基础完全背包-04.png) dp[0][j] 和 dp[i][0] 都已经初始化了,那么其他下标应该初始化多少呢? @@ -187,7 +187,7 @@ for(int j = 0; j <= bagWeight; j++) { // 遍历背包容量 以本篇举例数据为例,填满了dp二维数组如图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20241126113752.png) +![](images/背包问题理论基础完全背包-05.png) 因为 物品0 的性价比是最高的,而且 在完全背包中,每一类物品都有无限个,所以有无限个物品0,既然物品0 性价比最高,当然是优先放物品0。 diff --git "a/problems/\350\264\252\345\277\203\347\256\227\346\263\225\346\200\273\347\273\223\347\257\207.md" "b/problems/\350\264\252\345\277\203\347\256\227\346\263\225\346\200\273\347\273\223\347\257\207.md" index 14d82151c9..6babee1462 100644 --- "a/problems/\350\264\252\345\277\203\347\256\227\346\263\225\346\200\273\347\273\223\347\257\207.md" +++ "b/problems/\350\264\252\345\277\203\347\256\227\346\263\225\346\200\273\347\273\223\347\257\207.md" @@ -130,7 +130,7 @@ Carl个人认为:如果找出局部最优并可以推出全局最优,就是 贪心专题汇聚为一张图: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/贪心总结water.png) +![](images/贪心算法总结篇-01.png) 这个图是 [代码随想录知识星球](https://programmercarl.com/other/kstar.html) 成员:[海螺人](https://wx.zsxq.com/dweb2/index/footprint/844412858822412)所画,总结的非常好,分享给大家。 diff --git "a/problems/\350\264\252\345\277\203\347\256\227\346\263\225\347\220\206\350\256\272\345\237\272\347\241\200.md" "b/problems/\350\264\252\345\277\203\347\256\227\346\263\225\347\220\206\350\256\272\345\237\272\347\241\200.md" index 6fde2dbbe6..c3e8f95444 100644 --- "a/problems/\350\264\252\345\277\203\347\256\227\346\263\225\347\220\206\350\256\272\345\237\272\347\241\200.md" +++ "b/problems/\350\264\252\345\277\203\347\256\227\346\263\225\347\220\206\350\256\272\345\237\272\347\241\200.md" @@ -9,7 +9,7 @@ 题目分类大纲如下: -贪心算法大纲 +贪心算法大纲 ## 算法公开课 diff --git "a/problems/\351\223\276\350\241\250\346\200\273\347\273\223\347\257\207.md" "b/problems/\351\223\276\350\241\250\346\200\273\347\273\223\347\257\207.md" index 7da0d2de3c..32239d0cfa 100644 --- "a/problems/\351\223\276\350\241\250\346\200\273\347\273\223\347\257\207.md" +++ "b/problems/\351\223\276\350\241\250\346\200\273\347\273\223\347\257\207.md" @@ -77,7 +77,7 @@ ## 总结 -![](https://code-thinking-1253855093.file.myqcloud.com/pics/链表总结.png) +![](images/链表总结篇-01.png) 这个图是 [代码随想录知识星球](https://programmercarl.com/other/kstar.html) 成员:[海螺人](https://wx.zsxq.com/dweb2/index/footprint/844412858822412),所画,总结的非常好,分享给大家。 diff --git "a/problems/\351\223\276\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200.md" "b/problems/\351\223\276\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200.md" index d131380728..5dc2a4dcf4 100644 --- "a/problems/\351\223\276\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200.md" +++ "b/problems/\351\223\276\350\241\250\347\220\206\350\256\272\345\237\272\347\241\200.md" @@ -14,7 +14,7 @@ 链表的入口节点称为链表的头结点也就是head。 如图所示: -![链表1](https://code-thinking-1253855093.file.myqcloud.com/pics/20200806194529815.png) +![链表1](images/链表理论基础-01.png) ## 链表的类型 @@ -33,7 +33,7 @@ 双链表 既可以向前查询也可以向后查询。 如图所示: -![链表2](https://code-thinking-1253855093.file.myqcloud.com/pics/20200806194559317.png) +![链表2](images/链表理论基础-02.png) ### 循环链表 @@ -41,7 +41,7 @@ 循环链表可以用来解决约瑟夫环问题。 -![链表4](https://code-thinking-1253855093.file.myqcloud.com/pics/20200806194629603.png) +![链表4](images/链表理论基础-03.png) ## 链表的存储方式 @@ -56,7 +56,7 @@ 如图所示: -![链表3](https://code-thinking-1253855093.file.myqcloud.com/pics/20200806194613920.png) +![链表3](images/链表理论基础-04.png) 这个链表起始节点为2, 终止节点为7, 各个节点分布在内存的不同地址空间上,通过指针串联在一起。 @@ -106,7 +106,7 @@ head->val = 5; 删除D节点,如图所示: -![链表-删除节点](https://code-thinking-1253855093.file.myqcloud.com/pics/20200806195114541-20230310121459257.png) +![链表-删除节点](images/链表理论基础-05.png) 只要将C节点的next指针 指向E节点就可以了。 @@ -120,7 +120,7 @@ head->val = 5; 如图所示: -![链表-添加节点](https://code-thinking-1253855093.file.myqcloud.com/pics/20200806195134331-20230310121503147.png) +![链表-添加节点](images/链表理论基础-06.png) 可以看出链表的增添和删除都是O(1)操作,也不会影响到其他节点。 @@ -130,7 +130,7 @@ head->val = 5; 再把链表的特性和数组的特性进行一个对比,如图所示: -![链表-链表与数据性能对比](https://code-thinking-1253855093.file.myqcloud.com/pics/20200806195200276.png) +![链表-链表与数据性能对比](images/链表理论基础-07.png) 数组在定义的时候,长度就是固定的,如果想改动数组的长度,就需要重新定义一个新的数组。 diff --git "a/problems/\351\235\242\350\257\225\351\242\23002.07.\351\223\276\350\241\250\347\233\270\344\272\244.md" "b/problems/\351\235\242\350\257\225\351\242\23002.07.\351\223\276\350\241\250\347\233\270\344\272\244.md" index 48944b5e4e..e386aaf821 100644 --- "a/problems/\351\235\242\350\257\225\351\242\23002.07.\351\223\276\350\241\250\347\233\270\344\272\244.md" +++ "b/problems/\351\235\242\350\257\225\351\242\23002.07.\351\223\276\350\241\250\347\233\270\344\272\244.md" @@ -15,7 +15,7 @@ 图示两个链表在节点 c1 开始相交: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20211219221657.png) +![](images/面试题02.07.链表相交-01.png) 题目数据 保证 整个链式结构中不存在环。 @@ -23,15 +23,15 @@ 示例 1: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20211219221723.png) +![](images/面试题02.07.链表相交-02.png) 示例 2: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20211219221749.png) +![](images/面试题02.07.链表相交-03.png) 示例 3: -![](https://code-thinking-1253855093.file.myqcloud.com/pics/20211219221812.png)![](https://code-thinking-1253855093.file.myqcloud.com/pics/20211219221812.png) +![](images/面试题02.07.链表相交-04.png)![](images/面试题02.07.链表相交-05.png) @@ -44,11 +44,11 @@ 看如下两个链表,目前curA指向链表A的头结点,curB指向链表B的头结点: -![面试题02.07.链表相交_1](https://code-thinking.cdn.bcebos.com/pics/面试题02.07.链表相交_1.png) +![面试题02.07.链表相交_1](images/面试题02.07.链表相交-06.png) 我们求出两个链表的长度,并求出两个链表长度的差值,然后让curA移动到,和curB 末尾对齐的位置,如图: -![面试题02.07.链表相交_2](https://code-thinking.cdn.bcebos.com/pics/面试题02.07.链表相交_2.png) +![面试题02.07.链表相交_2](images/面试题02.07.链表相交-07.png) 此时我们就可以比较curA和curB是否相同,如果不相同,同时向后移动curA和curB,如果遇到curA == curB,则找到交点。