From 03f56480ac310a8dacae28a3c9d0e7c51faa60fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=ACmiao=E7=9A=AE?= <"rookieinn@gmail.com"> Date: 2020年7月28日 13:23:45 +0800 Subject: [PATCH] =?UTF-8?q?fix=20bug:=20=E4=BF=AE=E5=A4=8Dmd=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E5=8A=A0=E7=B2=97=E6=B8=B2=E6=9F=93=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../021.md" | 14 +++++++------- .../001.md" | 4 ++-- .../009.md" | 2 +- .../203.md" | 2 +- .../204.md" | 2 +- .../205.md" | 2 +- .../302.md" | 6 +++--- .../304.md" | 2 +- .../305.md" | 2 +- .../306.md" | 8 ++++---- .../307.md" | 2 +- .../308.md" | 2 +- .../401.md" | 2 +- .../403.md" | 2 +- .../407.md" | 2 +- .../602.md" | 2 +- .../604.md" | 2 +- .../606.md" | 2 +- .../701.md" | 2 +- .../802.md" | 4 ++-- .../805.md" | 2 +- .../901.md" | 2 +- .../902.md" | 2 +- .../904.md" | 2 +- .../01.md" | 4 ++-- .../02.md" | 4 ++-- .../04.md" | 2 +- .../05.md" | 2 +- .../06.md" | 2 +- .../07.md" | 4 ++-- .../08.md" | 4 ++-- .../09.md" | 2 +- .../11.md" | 2 +- .../14.md" | 6 +++--- .../21.md" | 2 +- .../23.md" | 2 +- .../26.md" | 2 +- .../33.md" | 4 ++-- .../50.md" | 2 +- 39 files changed, 59 insertions(+), 59 deletions(-) diff --git "a/website/0.01.346円214円207円345円257円274円345円255円246円344円271円240円/021.md" "b/website/0.01.346円214円207円345円257円274円345円255円246円344円271円240円/021.md" index 9ddad471..1c0d157a 100644 --- "a/website/0.01.346円214円207円345円257円274円345円255円246円344円271円240円/021.md" +++ "b/website/0.01.346円214円207円345円257円274円345円255円246円344円271円240円/021.md" @@ -86,14 +86,14 @@ date: 2020年07月01日 - **递归,防止死循环和内存泄露**。由于递归需要堆栈,**所以内存消耗要比非递归代码要大很多**。而且,如果递归深度太大,可能系统撑不住。内存会存在突然飙升的情况。如果是数据错误导致无限循环,那问题就大了。所以这方面问题在开发的时候需要注意。 - **访问数组越界**,绝大多数的数组越界,根本原因在于对定义混淆。比如定义的时候想的是"以0起始",但是写的时候写成了"以1起始"。究其根本,数组越界的问题,其实是对区间把控的问题。 -- **区间表意不明。**大部分的语言中,数组都以0为起始元素,但是人的思维习惯于以1为起始。那为什么数组要以0为起始元素,历史原因有很多,咱不说。对咱们有用的,3个。第一,因为我们选择左闭右开区间,比如 [0,n),我们可以很容易通过 n-0 得到数组中元素个数。这点大家要形成条件发射,看到数组,明确其个数。第二,闭区间很难去表示一个空数组,不信你试试,非常难受。第三,左闭右开的区间,迭代器只需要最少的操作符。可以让代码写起来非常的舒服,STL的算法和容器中基本都是如此。 -- **差一问题(栅栏错误)。**建造一条直栅栏(即不围圈),长30米、每条栅栏柱间相隔3米,需要多少条栅栏柱? 求数组 A[i]到 A[j] 的平均值,A[i] 到 A[j] 的和应该除以多少,是 j-i+1,还是 j-i?二分法中的 while 条件,到底是用 <= 还是 < ?这些都是差一问题,这类问题如何解决。**利用最小的的输入值测试代码的执行过程,长期反复,达到条件反射**。这个过程一定是在大量的题目练习中掌握的,如果你到目前还在纠结这个问题,请先扣心自问,是否刷过至少200道算法题。如果没有,请不要纠结,干就对了。如果有,来找我。 +- **区间表意不明。** 大部分的语言中,数组都以0为起始元素,但是人的思维习惯于以1为起始。那为什么数组要以0为起始元素,历史原因有很多,咱不说。对咱们有用的,3个。第一,因为我们选择左闭右开区间,比如 [0,n),我们可以很容易通过 n-0 得到数组中元素个数。这点大家要形成条件发射,看到数组,明确其个数。第二,闭区间很难去表示一个空数组,不信你试试,非常难受。第三,左闭右开的区间,迭代器只需要最少的操作符。可以让代码写起来非常的舒服,STL的算法和容器中基本都是如此。 +- **差一问题(栅栏错误)。** 建造一条直栅栏(即不围圈),长30米、每条栅栏柱间相隔3米,需要多少条栅栏柱? 求数组 A[i]到 A[j] 的平均值,A[i] 到 A[j] 的和应该除以多少,是 j-i+1,还是 j-i?二分法中的 while 条件,到底是用 <= 还是 < ?这些都是差一问题,这类问题如何解决。**利用最小的的输入值测试代码的执行过程,长期反复,达到条件反射**。这个过程一定是在大量的题目练习中掌握的,如果你到目前还在纠结这个问题,请先扣心自问,是否刷过至少200道算法题。如果没有,请不要纠结,干就对了。如果有,来找我。 - **内存溢出问题**。分为两种,一种是因为运算超出变量取值范围发生的内存溢出,比如二分法中的mid,就要使用 left+(right-left)>>1。另一种就是因为代码不严谨,比如递归没有退出条件,while死循环,等等导致内存溢出。 -- **初学者定义问题。**比如统计26个字母出现的次数,初学者会用hashmap,其实这种已知值范围的,定义成数组就可以了。其他类似数字0-9,每个月的天数,都是一样的 -- **写一半忘记题意。**这个根本原因还是因为思维脉络不清晰导致的,有时候初学者还会遇到一个问题。定义一个函数,比如叫做 juge() 返回 bool 值,本来应该是判断某条件成立时返回true,但是用的时候却以为,在条件不成立的时候返回true,最终导致结果错误。 -- **变量名错误。**不管是和方法参数中的变量名称冲突,还是因为本身表意不明,最终出现赋值错误,或者编译不通过。 -- **运算优先级错误。**比如位运算,各个语言中的优先级定义是略有不同的。有时候需要加括号,有时候不需要加。 -- **特殊值的处理。**一些找规律的题目,往往在等于0,等于1的时候,规律和其他的数不同,所以这种题目,需要对这种特殊值进行特殊处理。 +- **初学者定义问题。** 比如统计26个字母出现的次数,初学者会用hashmap,其实这种已知值范围的,定义成数组就可以了。其他类似数字0-9,每个月的天数,都是一样的 +- **写一半忘记题意。** 这个根本原因还是因为思维脉络不清晰导致的,有时候初学者还会遇到一个问题。定义一个函数,比如叫做 juge() 返回 bool 值,本来应该是判断某条件成立时返回true,但是用的时候却以为,在条件不成立的时候返回true,最终导致结果错误。 +- **变量名错误。** 不管是和方法参数中的变量名称冲突,还是因为本身表意不明,最终出现赋值错误,或者编译不通过。 +- **运算优先级错误。** 比如位运算,各个语言中的优先级定义是略有不同的。有时候需要加括号,有时候不需要加。 +- **特殊值的处理。** 一些找规律的题目,往往在等于0,等于1的时候,规律和其他的数不同,所以这种题目,需要对这种特殊值进行特殊处理。
diff --git "a/website/1.0.346円225円260円347円273円204円347円263円273円345円210円227円/001.md" "b/website/1.0.346円225円260円347円273円204円347円263円273円345円210円227円/001.md" index 4de0108d..f1fc9e36 100644 --- "a/website/1.0.346円225円260円347円273円204円347円263円273円345円210円227円/001.md" +++ "b/website/1.0.346円225円260円347円273円204円347円263円273円345円210円227円/001.md" @@ -76,11 +76,11 @@ func intersect(nums1 []int, nums2 []int) []int { 解题步骤如下: -<1>设定两个为0的指针,**比较两个指针的元素是否相等。**如果指针的元素相等,我们将两个指针一起向后移动,并且将相等的元素放入空白数组。下图中我们的指针分别指向第一个元素,判断元素相等之后,将相同元素放到空白的数组。 +<1>设定两个为0的指针,**比较两个指针的元素是否相等。** 如果指针的元素相等,我们将两个指针一起向后移动,并且将相等的元素放入空白数组。下图中我们的指针分别指向第一个元素,判断元素相等之后,将相同元素放到空白的数组。 ![PNG](./001/2.png) -<2>如果两个指针的元素不相等,**我们将小的一个指针后移。**图中我们指针移到下一个元素,判断不相等之后,将元素小的指针向后移动,继续进行判断。 +<2>如果两个指针的元素不相等,**我们将小的一个指针后移。** 图中我们指针移到下一个元素,判断不相等之后,将元素小的指针向后移动,继续进行判断。 ![PNG](./001/3.png) diff --git "a/website/1.0.346円225円260円347円273円204円347円263円273円345円210円227円/009.md" "b/website/1.0.346円225円260円347円273円204円347円263円273円345円210円227円/009.md" index 7f2a4e5f..68301760 100644 --- "a/website/1.0.346円225円260円347円273円204円347円263円273円345円210円227円/009.md" +++ "b/website/1.0.346円225円260円347円273円204円347円263円273円345円210円227円/009.md" @@ -13,7 +13,7 @@ date: 2020年07月08日 | 第6题:Z 字形变换 | | ------------------------------------------------------------ | -| 将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 **"LEETCODEISHIRING" **行数为 3 时,排列如下: | +| 将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 **"LEETCODEISHIRING"** 行数为 3 时,排列如下: | ``` L C I R diff --git "a/website/1.2.345円212円250円346円200円201円350円247円204円345円210円222円347円263円273円345円210円227円/203.md" "b/website/1.2.345円212円250円346円200円201円350円247円204円345円210円222円347円263円273円345円210円227円/203.md" index b6589bd8..a5707a59 100644 --- "a/website/1.2.345円212円250円346円200円201円350円247円204円345円210円222円347円263円273円345円210円227円/203.md" +++ "b/website/1.2.345円212円250円346円200円201円350円247円204円345円210円222円347円263円273円345円210円227円/203.md" @@ -26,7 +26,7 @@ title: 最长上升子序列(300) ## 02、题目图解 -首先我们分析题目,要找的是**最长上升子序列**(Longest Increasing Subsequence,LIS)。因为题目中没有要求连续,所以**LIS可能是连续的,也可能是非连续的。**同时,**LIS符合可以从其子问题的最优解来进行构建**的条件。所以我们可以尝试用动态规划来进行求解。首先我们定义状态: +首先我们分析题目,要找的是**最长上升子序列**(Longest Increasing Subsequence,LIS)。因为题目中没有要求连续,所以 **LIS可能是连续的,也可能是非连续的。** 同时,**LIS符合可以从其子问题的最优解来进行构建**的条件。所以我们可以尝试用动态规划来进行求解。首先我们定义状态:
>
dp[i] :表示以nums[i]结尾的最长上升子序列的长度
diff --git "a/website/1.2.345円212円250円346円200円201円350円247円204円345円210円222円347円263円273円345円210円227円/204.md" "b/website/1.2.345円212円250円346円200円201円350円247円204円345円210円222円347円263円273円345円210円227円/204.md" index 0f17f1ce..59a8f9a9 100644 --- "a/website/1.2.345円212円250円346円200円201円350円247円204円345円210円222円347円263円273円345円210円227円/204.md" +++ "b/website/1.2.345円212円250円346円200円201円350円247円204円345円210円222円347円263円273円345円210円227円/204.md" @@ -30,7 +30,7 @@ title: 三角形最小路径和(120) ## 02、题目图解 -首先我们分析题目,要找的是**三角形最小路径和,**这是个啥意思呢?假设我们有一个三角形:[[2], [3,4], [6,5,7], +首先我们分析题目,要找的是**三角形最小路径和,** 这是个啥意思呢?假设我们有一个三角形:[[2], [3,4], [6,5,7], [4,1,8,3]] diff --git "a/website/1.2.345円212円250円346円200円201円350円247円204円345円210円222円347円263円273円345円210円227円/205.md" "b/website/1.2.345円212円250円346円200円201円350円247円204円345円210円222円347円263円273円345円210円227円/205.md" index dcf9b8fa..401e2c1c 100644 --- "a/website/1.2.345円212円250円346円200円201円350円247円204円345円210円222円347円263円273円345円210円227円/205.md" +++ "b/website/1.2.345円212円250円346円200円201円350円247円204円345円210円222円347円263円273円345円210円227円/205.md" @@ -32,7 +32,7 @@ title: 最小路径和(64) ## 02、题目图解 -首先我们分析题目,要找的是 **最小路径和,**这是个啥意思呢?假设我们有一个 m * n 的矩形 :[[1,3,1],[1,5,1],[4,2,1]] +首先我们分析题目,要找的是 **最小路径和,** 这是个啥意思呢?假设我们有一个 m * n 的矩形 :[[1,3,1],[1,5,1],[4,2,1]] PNG diff --git "a/website/1.3.345円255円227円347円254円246円344円270円262円347円263円273円345円210円227円/302.md" "b/website/1.3.345円255円227円347円254円246円344円270円262円347円263円273円345円210円227円/302.md" index 3b1ec7a4..e48610dd 100644 --- "a/website/1.3.345円255円227円347円254円246円344円270円262円347円263円273円345円210円227円/302.md" +++ "b/website/1.3.345円255円227円347円254円246円344円270円262円347円263円273円345円210円227円/302.md" @@ -18,9 +18,9 @@ s = "loveleetcode", 返回 2. ``` - **注意事项:**您可以假定该字符串只包含小写字母。 +**注意事项:** 您可以假定该字符串只包含小写字母。 ->
常考题目,建议自行思考 1-2 分钟先〜
+>
常考题目,建议自行思考 1-2 分钟先〜
## 02、题目图解 @@ -34,7 +34,7 @@ s = "loveleetcode", ## 03、GO语言示例 - 根据以上分析,可以得到代码如下: +根据以上分析,可以得到代码如下: ```go func firstUniqChar(s string) int { diff --git "a/website/1.3.345円255円227円347円254円246円344円270円262円347円263円273円345円210円227円/304.md" "b/website/1.3.345円255円227円347円254円246円344円270円262円347円263円273円345円210円227円/304.md" index 8a4b35b8..6a0734c8 100644 --- "a/website/1.3.345円255円227円347円254円246円344円270円262円347円263円273円345円210円227円/304.md" +++ "b/website/1.3.345円255円227円347円254円246円344円270円262円347円263円273円345円210円227円/304.md" @@ -126,7 +126,7 @@ func printNumbers(n int) []int {
-对于本题,我们该如何模拟一个 "最大的n位十进制数" 呢?其实也是一样的,**我们采用 char 数组进行存储**。而我们每次递增1,相当于进行一次**字符串相加**的运算。但是这里额外要说明的一点是,我把题解恢复成了原题的要求:**使用打印输出,而不是通过数组返回的形式。**毕竟返回数组的形式只是 leetcode 为了兼容平台测试而改编的。这里我就直接给出从剑指offer改编的题解了(JAVA): +对于本题,我们该如何模拟一个 "最大的n位十进制数" 呢?其实也是一样的,**我们采用 char 数组进行存储**。而我们每次递增1,相当于进行一次**字符串相加**的运算。但是这里额外要说明的一点是,我把题解恢复成了原题的要求:**使用打印输出,而不是通过数组返回的形式。** 毕竟返回数组的形式只是 leetcode 为了兼容平台测试而改编的。这里我就直接给出从剑指offer改编的题解了(JAVA): ```java //java diff --git "a/website/1.3.345円255円227円347円254円246円344円270円262円347円263円273円345円210円227円/305.md" "b/website/1.3.345円255円227円347円254円246円344円270円262円347円263円273円345円210円227円/305.md" index 9a6c6bd0..a1e6cfc9 100644 --- "a/website/1.3.345円255円227円347円254円246円344円270円262円347円263円273円345円210円227円/305.md" +++ "b/website/1.3.345円255円227円347円254円246円344円270円262円347円263円273円345円210円227円/305.md" @@ -13,7 +13,7 @@ date: 2020年07月10日 | ------------------------------------------------------------ | | 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 | -**说明:**本题中,我们将空字符串定义为有效的回文串。 +**说明:** 本题中,我们将空字符串定义为有效的回文串。
diff --git "a/website/1.3.345円255円227円347円254円246円344円270円262円347円263円273円345円210円227円/306.md" "b/website/1.3.345円255円227円347円254円246円344円270円262円347円263円273円345円210円227円/306.md" index 76691d06..9fe62eba 100644 --- "a/website/1.3.345円255円227円347円254円246円344円270円262円347円263円273円345円210円227円/306.md" +++ "b/website/1.3.345円255円227円347円254円246円344円270円262円347円263円273円345円210円227円/306.md" @@ -55,7 +55,7 @@ KMP 其实已经念念叨叨挺长时间了,一直没写的原因是我觉得 PNG -假若我们目标串长度为m,模式串长度为n。模式串与目标串至少比较m次,又因其自身长度为n,所以理论的时间复杂度为**O(m\*n)。**但我们可以看到,**因为途中遇到不能匹配的字符时,就可以停止,并不需要完全对比(比如上图第2行)**。所以虽然理论时间复杂度为 **O(m\*n)** ,但其实大部分情况效率高很多。 +假若我们目标串长度为m,模式串长度为n。模式串与目标串至少比较m次,又因其自身长度为n,所以理论的时间复杂度为**O(m\*n)。** 但我们可以看到,**因为途中遇到不能匹配的字符时,就可以停止,并不需要完全对比(比如上图第2行)**。所以虽然理论时间复杂度为 **O(m\*n)** ,但其实大部分情况效率高很多。
@@ -131,7 +131,7 @@ func BFSearch(haystack string, needle string) int { PNG -我想到现在你已经知道怎么做了,来和我一起说。**因为前面的 B 匹配成功了,所以我们知道 B 不等于 A,所以我们可以跳过 B。**当然,跳过之后下一次的匹配直接失败了(A-D)。 +我想到现在你已经知道怎么做了,来和我一起说。**因为前面的 B 匹配成功了,所以我们知道 B 不等于 A,所以我们可以跳过 B。** 当然,跳过之后下一次的匹配直接失败了(A-D)。 PNG @@ -213,7 +213,7 @@ func BFSearch(haystack string, needle string) int { PNG -为什么会出问题呢,我们说了,对 KMP 而言,**如果没有匹配成功,****目标串是不回溯的**。那如果目标串不回溯,如果模式串一直都是 0,是不是意味着这个算法就没办法继续进行下去?所以大神把这个 next匹配表 改了一下,把 0 位置处的 next表 值改为了 -1。 +为什么会出问题呢,我们说了,对 KMP 而言,**如果没有匹配成功,** **目标串是不回溯的**。那如果目标串不回溯,如果模式串一直都是 0,是不是意味着这个算法就没办法继续进行下去?所以大神把这个 next匹配表 改了一下,把 0 位置处的 next表 值改为了 -1。 PNG @@ -349,7 +349,7 @@ func KmpSearch(haystack string, needle string, next []int) int { PNG -但是但是但是!!!并不是所有讲解 KMP 的地方都会给你提一提部分匹配表的概念,有的地方干脆就直接把这个 pmt 等同于 next 表使用。**这种属于错误讲解吗?其实不是的!**因为我上面也说了,next表 在最初始位置补 -1,或者甚至干脆把 pmt 的第一位补一个 -1 当作 next表,这都统统是可以的。**因为最关键的还是说你到时候怎么去使用!毕竟 next表 的定义也是人们给它赋予的!** +但是但是但是!!!并不是所有讲解 KMP 的地方都会给你提一提部分匹配表的概念,有的地方干脆就直接把这个 pmt 等同于 next 表使用。**这种属于错误讲解吗?其实不是的!** 因为我上面也说了,next表 在最初始位置补 -1,或者甚至干脆把 pmt 的第一位补一个 -1 当作 next表,这都统统是可以的。**因为最关键的还是说你到时候怎么去使用!毕竟 next表 的定义也是人们给它赋予的!**
diff --git "a/website/1.3.345円255円227円347円254円246円344円270円262円347円263円273円345円210円227円/307.md" "b/website/1.3.345円255円227円347円254円246円344円270円262円347円263円273円345円210円227円/307.md" index 7f073808..c44c81e6 100644 --- "a/website/1.3.345円255円227円347円254円246円344円270円262円347円263円273円345円210円227円/307.md" +++ "b/website/1.3.345円255円227円347円254円246円344円270円262円347円263円273円345円210円227円/307.md" @@ -31,7 +31,7 @@ date: 2020年07月12日
-**注意:**A 和 B 长度不超过 100。 +**注意:** A 和 B 长度不超过 100。
diff --git "a/website/1.3.345円255円227円347円254円246円344円270円262円347円263円273円345円210円227円/308.md" "b/website/1.3.345円255円227円347円254円246円344円270円262円347円263円273円345円210円227円/308.md" index 6892bff2..786bb0b8 100644 --- "a/website/1.3.345円255円227円347円254円246円344円270円262円347円263円273円345円210円227円/308.md" +++ "b/website/1.3.345円255円227円347円254円246円344円270円262円347円263円273円345円210円227円/308.md" @@ -32,7 +32,7 @@ date: 2020年07月12日 输出: 5 ``` -**说明:**一个单词是指仅由字母组成、不包含任何空格字符的 **最大子字符串**。 +**说明:** 一个单词是指仅由字母组成、不包含任何空格字符的 **最大子字符串**。
diff --git "a/website/1.4.344円272円214円345円217円211円346円240円221円347円263円273円345円210円227円/401.md" "b/website/1.4.344円272円214円345円217円211円346円240円221円347円263円273円345円210円227円/401.md" index 3ff262ea..4582d9ee 100644 --- "a/website/1.4.344円272円214円345円217円211円346円240円221円347円263円273円345円210円227円/401.md" +++ "b/website/1.4.344円272円214円345円217円211円346円240円221円347円263円273円345円210円227円/401.md" @@ -30,7 +30,7 @@ title: 最大深度与DFS(104) ## 02、递归求解 -我们知道,**每个节点的深度与它左右子树的深度有关,且等于其左右子树最大深度值加上 1 **。即: +我们知道,**每个节点的深度与它左右子树的深度有关,且等于其左右子树最大深度值加上 1 。** 即: >
maxDepth(root) = max(maxDepth(root.left),
> diff --git "a/website/1.4.344円272円214円345円217円211円346円240円221円347円263円273円345円210円227円/403.md" "b/website/1.4.344円272円214円345円217円211円346円240円221円347円263円273円345円210円227円/403.md" index c3356f5a..ef5e333c 100644 --- "a/website/1.4.344円272円214円345円217円211円346円240円221円347円263円273円345円210円227円/403.md" +++ "b/website/1.4.344円272円214円345円217円211円346円240円221円347円263円273円345円210円227円/403.md" @@ -9,7 +9,7 @@ title: BST与其验证(98)
-这里强调一下子树的概念:设T是有根树,a是T中的一个顶点,由**a以及a的所有后裔(后代)**导出的子图称为有向树T的子树。具体来说,**子树就是树的其中一个节点以及其下面的所有的节点**所构成的树。 +这里强调一下子树的概念:设T是有根树,a是T中的一个顶点,由**a以及a的所有后裔(后代)** 导出的子图称为有向树T的子树。具体来说,**子树就是树的其中一个节点以及其下面的所有的节点**所构成的树。
diff --git "a/website/1.4.344円272円214円345円217円211円346円240円221円347円263円273円345円210円227円/407.md" "b/website/1.4.344円272円214円345円217円211円346円240円221円347円263円273円345円210円227円/407.md" index 170fa803..9d39382e 100644 --- "a/website/1.4.344円272円214円345円217円211円346円240円221円347円263円273円345円210円227円/407.md" +++ "b/website/1.4.344円272円214円345円217円211円346円240円221円347円263円273円345円210円227円/407.md" @@ -11,7 +11,7 @@ date: 2020年06月11日
-如果**二叉树中除了叶子结点,每个结点的度都为 2**,则此二叉树称为**满二叉树**。(**二叉树的度**代表**某个结点的孩子或者说直接后继的个数。**对于二叉树而言,1度是只有一个孩子或者说单子树,2度是有两个孩子或者说左右子树都有。) +如果**二叉树中除了叶子结点,每个结点的度都为 2**,则此二叉树称为**满二叉树**。(**二叉树的度**代表**某个结点的孩子或者说直接后继的个数。** 对于二叉树而言,1度是只有一个孩子或者说单子树,2度是有两个孩子或者说左右子树都有。)
diff --git "a/website/1.6.345円215円232円345円274円210円350円256円272円347円263円273円345円210円227円/602.md" "b/website/1.6.345円215円232円345円274円210円350円256円272円347円263円273円345円210円227円/602.md" index 0bb65f6b..bf40963b 100644 --- "a/website/1.6.345円215円232円345円274円210円350円256円272円347円263円273円345円210円227円/602.md" +++ "b/website/1.6.345円215円232円345円274円210円350円256円272円347円263円273円345円210円227円/602.md" @@ -31,7 +31,7 @@ date: 2020年06月14日 ## 02、直觉的缺陷 -得到了结论,我们来思考背后的东西。在我们的直觉里有这样一个逻辑:**如果一个事物的各部分都分别大于另一个事物的各部分,那么这个事物大于另一个事物。**比如:我们的直觉告诉我们如果手术A在两组病人中都更好,那么在所有病人中也应该更好。 +得到了结论,我们来思考背后的东西。在我们的直觉里有这样一个逻辑:**如果一个事物的各部分都分别大于另一个事物的各部分,那么这个事物大于另一个事物。** 比如:我们的直觉告诉我们如果手术A在两组病人中都更好,那么在所有病人中也应该更好。
diff --git "a/website/1.6.345円215円232円345円274円210円350円256円272円347円263円273円345円210円227円/604.md" "b/website/1.6.345円215円232円345円274円210円350円256円272円347円263円273円345円210円227円/604.md" index d694d2ae..c155745b 100644 --- "a/website/1.6.345円215円232円345円274円210円350円256円272円347円263円273円345円210円227円/604.md" +++ "b/website/1.6.345円215円232円345円274円210円350円256円272円347円263円273円345円210円227円/604.md" @@ -39,7 +39,7 @@ date: 2020年06月14日
-现在又继续加入了新的海盗!原来的1,2,3号,成为了现在的2,3,4号。这时候新的一号海盗洞悉了奥秘,知道了**如果自己死了,二号就可以获取全部的金币,**所以提出给三号和四号一人一个金币,一起投死2号。而与此同时,现在的3号和4号获取的要比三个人时多(三个人时自己获取不了任何金币),所以他们会同意这个方案! +现在又继续加入了新的海盗!原来的1,2,3号,成为了现在的2,3,4号。这时候新的一号海盗洞悉了奥秘,知道了**如果自己死了,二号就可以获取全部的金币,** 所以提出给三号和四号一人一个金币,一起投死2号。而与此同时,现在的3号和4号获取的要比三个人时多(三个人时自己获取不了任何金币),所以他们会同意这个方案!
diff --git "a/website/1.6.345円215円232円345円274円210円350円256円272円347円263円273円345円210円227円/606.md" "b/website/1.6.345円215円232円345円274円210円350円256円272円347円263円273円345円210円227円/606.md" index bf8b3094..d22ace17 100644 --- "a/website/1.6.345円215円232円345円274円210円350円256円272円347円263円273円345円210円227円/606.md" +++ "b/website/1.6.345円215円232円345円274円210円350円256円272円347円263円273円345円210円227円/606.md" @@ -41,7 +41,7 @@ date: 2020年07月05日
-2、**身体酸碱度。**酸性体质容易疲惫,让人感觉到累。所以很多养生专家建议让身体处于碱性环境。前面这个,我觉得还是没问题的。但是养生专家同时也说:碱性环境下生孩子的几率会大一点。(这个我就搞不懂了??) +2、**身体酸碱度。** 酸性体质容易疲惫,让人感觉到累。所以很多养生专家建议让身体处于碱性环境。前面这个,我觉得还是没问题的。但是养生专家同时也说:碱性环境下生孩子的几率会大一点。(这个我就搞不懂了??) PNG diff --git "a/website/1.7.346円216円222円345円272円217円347円261円273円351円242円230円347円233円256円/701.md" "b/website/1.7.346円216円222円345円272円217円347円261円273円351円242円230円347円233円256円/701.md" index a6d9ffa3..eb961e83 100644 --- "a/website/1.7.346円216円222円345円272円217円347円261円273円351円242円230円347円233円256円/701.md" +++ "b/website/1.7.346円216円222円345円272円217円347円261円273円351円242円230円347円233円256円/701.md" @@ -81,7 +81,7 @@ func insert_sort(arr []int) { ## 04、题目图解 -这道题,按照插入排序的思想,很容易可以想到题解。我们只需要遍历数组,当我们**遇到偶数时**,**将其插入到数组前最近的一个为奇数的位置,****与该位置的奇数元素交换**。为了达成该目的,我们引入一个指针 j,来维持这样一个奇数的位置。 +这道题,按照插入排序的思想,很容易可以想到题解。我们只需要遍历数组,当我们**遇到偶数时**,**将其插入到数组前最近的一个为奇数的位置,** **与该位置的奇数元素交换**。为了达成该目的,我们引入一个指针 j,来维持这样一个奇数的位置。
diff --git "a/website/1.8.344円275円215円350円277円220円347円256円227円347円263円273円345円210円227円/802.md" "b/website/1.8.344円275円215円350円277円220円347円256円227円347円263円273円345円210円227円/802.md" index fdc72829..4adb49fc 100644 --- "a/website/1.8.344円275円215円350円277円220円347円256円227円347円263円273円345円210円227円/802.md" +++ "b/website/1.8.344円275円215円350円277円220円347円256円227円347円263円273円345円210円227円/802.md" @@ -60,7 +60,7 @@ date: 2020年06月21日 PNG -可以看到,对于N为2的幂的数,**都有 N&(N-1)=0 ,**所以这就是我们的判断条件。(这个技巧可以记忆下来,在一些别的位运算的题目中也是会用到的) +可以看到,对于N为2的幂的数,**都有 N&(N-1)=0 ,** 所以这就是我们的判断条件。(这个技巧可以记忆下来,在一些别的位运算的题目中也是会用到的)
@@ -83,7 +83,7 @@ func isPowerOfTwo(n int) bool {
-"阳春白雪,下里巴人"这个比喻虽然有点牵强,但是却难掩位运算的重要性。位运算在整个算法体系里,不少人可能会觉得有点食之无味、弃之可惜的意思。但其实,完全不是这样!有这种想法的,大多是初学者。对于这点,应该C系的玩家,会深有感触。万丈高楼平地起,暂且不说位运算在底层运算中占据了多大比重,单是整个leetcode列表里,打着位运算标签的题目就超过80余道,我想已经说明了问题。**至少,在面试这块,你必须对位运算了如指掌!**所以,今天的题目算是一个引子,后面我会出一个位运算的专题,希望尽我所能,帮助大家攻克这一类型的问题。 +"阳春白雪,下里巴人"这个比喻虽然有点牵强,但是却难掩位运算的重要性。位运算在整个算法体系里,不少人可能会觉得有点食之无味、弃之可惜的意思。但其实,完全不是这样!有这种想法的,大多是初学者。对于这点,应该C系的玩家,会深有感触。万丈高楼平地起,暂且不说位运算在底层运算中占据了多大比重,单是整个leetcode列表里,打着位运算标签的题目就超过80余道,我想已经说明了问题。**至少,在面试这块,你必须对位运算了如指掌!** 所以,今天的题目算是一个引子,后面我会出一个位运算的专题,希望尽我所能,帮助大家攻克这一类型的问题。 PNG diff --git "a/website/1.8.344円275円215円350円277円220円347円256円227円347円263円273円345円210円227円/805.md" "b/website/1.8.344円275円215円350円277円220円347円256円227円347円263円273円345円210円227円/805.md" index 05af0d24..cf63711b 100644 --- "a/website/1.8.344円275円215円350円277円220円347円256円227円347円263円273円345円210円227円/805.md" +++ "b/website/1.8.344円275円215円350円277円220円347円256円227円347円263円273円345円210円227円/805.md" @@ -119,7 +119,7 @@ class Solution: PNG -那对于"每个其余元素,均出现了三次"也是一样,如果我们可以完成 **一个同一位上的三个1清零的过程,**也就是 a ?a ?a = 0,问题则迎刃冰解。那因为各语言中都没有这样一个现成的方法可以使用,所以我们需要构造一个。(想象一下,位运算也是造出来的对不对?) +那对于"每个其余元素,均出现了三次"也是一样,如果我们可以完成 **一个同一位上的三个1清零的过程,** 也就是 a ?a ?a = 0,问题则迎刃冰解。那因为各语言中都没有这样一个现成的方法可以使用,所以我们需要构造一个。(想象一下,位运算也是造出来的对不对?) PNG diff --git "a/website/1.9.344円272円214円345円210円206円346円263円225円347円263円273円345円210円227円/901.md" "b/website/1.9.344円272円214円345円210円206円346円263円225円347円263円273円345円210円227円/901.md" index b327145a..db8c0141 100644 --- "a/website/1.9.344円272円214円345円210円206円346円263円225円347円263円273円345円210円227円/901.md" +++ "b/website/1.9.344円272円214円345円210円206円346円263円225円347円263円273円345円210円227円/901.md" @@ -151,7 +151,7 @@ public int binarySearch(int[] array, int des) {
-注意,绝大部分**「在递增递减区间中搜索目标值」** 的问题,都可以转化为二分查找问题。并且,二分查找的题目,基本逃不出三种:找特定值,找大于特定值的元素(上界),找小于特定值的元素(下界)。 +注意,绝大部分 **「在递增递减区间中搜索目标值」** 的问题,都可以转化为二分查找问题。并且,二分查找的题目,基本逃不出三种:找特定值,找大于特定值的元素(上界),找小于特定值的元素(下界)。
diff --git "a/website/1.9.344円272円214円345円210円206円346円263円225円347円263円273円345円210円227円/902.md" "b/website/1.9.344円272円214円345円210円206円346円263円225円347円263円273円345円210円227円/902.md" index dee2c05e..98ee45f6 100644 --- "a/website/1.9.344円272円214円345円210円206円346円263円225円347円263円273円345円210円227円/902.md" +++ "b/website/1.9.344円272円214円345円210円206円346円263円225円347円263円273円345円210円227円/902.md" @@ -132,7 +132,7 @@ public class Solution {
-那么问题来了,如何可以彻底掌握二分法?初期我并不建议大家直接去套模板,这样意义不是很大,因为套模板很容易边界值出现错误(当然,也可能我的理解还不够深入,网上有很多建议是去直接套模板的)我的建议是:**去思考二分法的本质,了解其通过收敛来找到目标的内涵****,对每一个二分的题目都进行深度剖析,多分析别人的答案**。你得知道,**每一个答案,背后都是对方的思考过程**。从这些过程中抽茧剥丝,最终留下的,才是二分的精髓。也只有到这一刻,我认为才可以真正的说一句掌握了二分。毕竟模板的目的,也是让大家去思考模板背后的东西,而不是模板本身。 +那么问题来了,如何可以彻底掌握二分法?初期我并不建议大家直接去套模板,这样意义不是很大,因为套模板很容易边界值出现错误(当然,也可能我的理解还不够深入,网上有很多建议是去直接套模板的)我的建议是:**去思考二分法的本质,了解其通过收敛来找到目标的内涵** **,对每一个二分的题目都进行深度剖析,多分析别人的答案**。你得知道,**每一个答案,背后都是对方的思考过程**。从这些过程中抽茧剥丝,最终留下的,才是二分的精髓。也只有到这一刻,我认为才可以真正的说一句掌握了二分。毕竟模板的目的,也是让大家去思考模板背后的东西,而不是模板本身。
diff --git "a/website/1.9.344円272円214円345円210円206円346円263円225円347円263円273円345円210円227円/904.md" "b/website/1.9.344円272円214円345円210円206円346円263円225円347円263円273円345円210円227円/904.md" index adca910e..e20b4fd1 100644 --- "a/website/1.9.344円272円214円345円210円206円346円263円225円347円263円273円345円210円227円/904.md" +++ "b/website/1.9.344円272円214円345円210円206円346円263円225円347円263円273円345円210円227円/904.md" @@ -35,7 +35,7 @@ date: 2020年07月03日
-当然,本题可以直接暴力搜索,但是这就就会被面试官撵出去。为了不被他撵出去,我们还是使用二分更为稳妥!**在****二分搜索中,我们找到区间的中间点并根据某些条件决定去区间左半部分还是右半部分搜索**。但是麻烦的是,我们的数组被旋转了,因此肯定不能直接使用二分。那我们需要先观察一下,假若我们的原始数组如下: +当然,本题可以直接暴力搜索,但是这就就会被面试官撵出去。为了不被他撵出去,我们还是使用二分更为稳妥!**在二分搜索中,我们找到区间的中间点并根据某些条件决定去区间左半部分还是右半部分搜索**。但是麻烦的是,我们的数组被旋转了,因此肯定不能直接使用二分。那我们需要先观察一下,假若我们的原始数组如下: PNG diff --git "a/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/01.md" "b/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/01.md" index 2d7b886f..04630517 100644 --- "a/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/01.md" +++ "b/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/01.md" @@ -90,7 +90,7 @@ right := len(matrix[0]) - 1 PNG -下面关键的一步来了,**因为第一行已经走过了,我们将上界下调****(up++)**,同时转弯向下走。 +下面关键的一步来了,**因为第一行已经走过了,我们将上界下调** **(up++)**,同时转弯向下走。 PNG @@ -102,7 +102,7 @@ right := len(matrix[0]) - 1 PNG -最后,对剩下的矩阵重复整个过程,直到上下、左右的壁与壁碰在一起**(up <= down && left <= right,这是避免碰壁的条件)**。 +最后,对剩下的矩阵重复整个过程,直到上下、左右的壁与壁碰在一起 **(up <= down && left <= right,这是避免碰壁的条件)**。 ## 03、Go语言示例 diff --git "a/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/02.md" "b/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/02.md" index 1aad5e42..36bf2764 100644 --- "a/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/02.md" +++ "b/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/02.md" @@ -3,7 +3,7 @@ title: 只有两个键的键盘(650) date: 2020-06-15 --- ->今天为大家分享一道关于**"复制" + "粘贴"**的题目。话不多说,直接看题吧。 +>今天为大家分享一道关于 **"复制" + "粘贴"** 的题目。话不多说,直接看题吧。 ## 01、题目分析 @@ -67,7 +67,7 @@ n 的取值范围是 [1, 1000] 。
-那对于合数又该如何分析呢?(自然数中除能被1和本身整除外,还能被其他的数整除的数)这里我们直接给出答案:合数的次数为**将其分解质因数的操作次数的和。**解释一下,这是个啥意思?举个例子: +那对于合数又该如何分析呢?(自然数中除能被1和本身整除外,还能被其他的数整除的数)这里我们直接给出答案:合数的次数为**将其分解质因数的操作次数的和。** 解释一下,这是个啥意思?举个例子:
diff --git "a/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/04.md" "b/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/04.md" index 04b2d17e..2021a02e 100644 --- "a/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/04.md" +++ "b/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/04.md" @@ -54,7 +54,7 @@ date: 2020年06月15日 PNG -如果**第一个人占掉了第二个人的位置**(1/3)**。**此时第二人上来之后,要么坐在第一人的位置上,要么坐在第三人的位置上。(1/2)所以,在这种情况下,第三人的座位被占的可能性是 1/3*1/2=1/6。 +如果**第一个人占掉了第二个人的位置(1/3)。** 此时第二人上来之后,要么坐在第一人的位置上,要么坐在第三人的位置上。(1/2)所以,在这种情况下,第三人的座位被占的可能性是 1/3*1/2=1/6。 PNG diff --git "a/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/05.md" "b/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/05.md" index d40b4dcb..6d2bfac1 100644 --- "a/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/05.md" +++ "b/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/05.md" @@ -3,7 +3,7 @@ title: 水分子的产生 date: 2020年06月16日 --- -> 今天为大家分享一道看起来**"高大上****"**的题目。 +> 今天为大家分享一道看起来 **"高大上"** 的题目。 > > 话不多说,直接看题吧。 diff --git "a/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/06.md" "b/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/06.md" index 92f792ce..3b0d1036 100644 --- "a/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/06.md" +++ "b/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/06.md" @@ -5,7 +5,7 @@ date: 2020年06月16日 >小浩算法改版了,大家看一下风格怎么样,还喜欢吗?所有的排版,绘图,文案,题解都是由小浩一人完成哦~ > ->今天为大家分享一道关于**"救生艇****"**的题目。 +>今天为大家分享一道关于 **"救生艇"** 的题目。 > >话不多说,直接看题吧。 diff --git "a/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/07.md" "b/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/07.md" index 249c1ac0..46561bc6 100644 --- "a/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/07.md" +++ "b/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/07.md" @@ -17,7 +17,7 @@ date: 2020年06月16日 ## 02、题目分析 -实在不想和那些答主一样,磨磨唧唧的分析完毕之后,再给你们扔出来正确答案。答案是7次,**懂得走人,今日合格,咱不浪费时间。**懵对的和猜错的往下看,**只会3匹马的也请往下看**。 +实在不想和那些答主一样,磨磨唧唧的分析完毕之后,再给你们扔出来正确答案。答案是7次,**懂得走人,今日合格,咱不浪费时间。** 懵对的和猜错的往下看,**只会3匹马的也请往下看**。
@@ -43,7 +43,7 @@ date: 2020年06月16日
-在上面的的分析中,我们已经明确了第一名。**但是第二名和第三名,是可以在A2-A3-B1-B2-C1中产生的,**我们需要分别进行讨论。 +在上面的的分析中,我们已经明确了第一名。**但是第二名和第三名,是可以在A2-A3-B1-B2-C1中产生的**,我们需要分别进行讨论。 PNG diff --git "a/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/08.md" "b/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/08.md" index 70d28773..7fe23965 100644 --- "a/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/08.md" +++ "b/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/08.md" @@ -3,7 +3,7 @@ title: 灯泡开关(319) date: 2020年06月17日 --- -> 今天为大家分享一道关于**"电灯泡"**的题目。 +> 今天为大家分享一道关于 **"电灯泡"** 的题目。 > > 话不多说,直接看题。 @@ -110,7 +110,7 @@ public:
-所以其实我们是求,**从1-n有多少个数的约数有奇数个**。而**有奇数个约数的数一定是完全平方数。**这是因为,对于数n,如果m是它的约数,则n/m也是它的约数,若m≠n/m,则它的约数是以m、n/m的形式成对出现的。而m=n/m成立且n/m是正整数时,n是完全平方数,而它有奇数个约数。 +所以其实我们是求,**从1-n有多少个数的约数有奇数个**。而**有奇数个约数的数一定是完全平方数。** 这是因为,对于数n,如果m是它的约数,则n/m也是它的约数,若m≠n/m,则它的约数是以m、n/m的形式成对出现的。而m=n/m成立且n/m是正整数时,n是完全平方数,而它有奇数个约数。
diff --git "a/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/09.md" "b/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/09.md" index 8356c6b6..ba162c6d 100644 --- "a/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/09.md" +++ "b/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/09.md" @@ -29,7 +29,7 @@ date: 2020年06月17日
-正确的答案是,**如果你选择了换,碰见天使的概率会高达2/3,而不不换的话,碰见天使的概率只有1/3。**怎么来的? +正确的答案是,**如果你选择了换,碰见天使的概率会高达2/3,而不不换的话,碰见天使的概率只有1/3。** 怎么来的?
diff --git "a/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/11.md" "b/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/11.md" index 9b6c93f1..637be587 100644 --- "a/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/11.md" +++ "b/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/11.md" @@ -218,7 +218,7 @@ func (this *LRUCache) Put(key int, value int) { } ``` -但是我们漏掉了一种情况,**如果恰好此时Cache中元素满了,需要删掉最后的元素。**处理完毕,附上 Put 函数完整代码。 +但是我们漏掉了一种情况,**如果恰好此时Cache中元素满了,需要删掉最后的元素。** 处理完毕,附上 Put 函数完整代码。 ```go func (this *LRUCache) Put(key int, value int) { diff --git "a/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/14.md" "b/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/14.md" index 9c7fe697..7f96bce1 100644 --- "a/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/14.md" +++ "b/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/14.md" @@ -25,7 +25,7 @@ date: 2020年06月18日
-**说明:**m 和 n 的值均不超过 100。 +**说明:** m 和 n 的值均不超过 100。
@@ -51,7 +51,7 @@ date: 2020年06月18日 > 因为只是多了一点障碍物,题目的本质并没什么不同,所以直接进行分析即可。 -首先我们还是定义状态,**用****DP[i][j]表示到达i行j列的最多路径**。同时,因为第0行和第0列都只有一条路径,所以需要初始化为1。但有一点不一样的就是:**如果在0行0列中遇到障碍物,后面的就都是0,意为此路不通**。 +首先我们还是定义状态,**用DP[i][j]表示到达i行j列的最多路径**。同时,因为第0行和第0列都只有一条路径,所以需要初始化为1。但有一点不一样的就是:**如果在0行0列中遇到障碍物,后面的就都是0,意为此路不通**。 PNG @@ -129,4 +129,4 @@ class Solution {
-**思考:**上面的代码其实还可以优化内存,大家想想怎么做 \ No newline at end of file +**思考:** 上面的代码其实还可以优化内存,大家想想怎么做 \ No newline at end of file diff --git "a/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/21.md" "b/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/21.md" index b665c94f..ff21e7c2 100644 --- "a/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/21.md" +++ "b/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/21.md" @@ -53,7 +53,7 @@ nums2 = [3, 4] PNG -现在的问题是,我们如何用二分的思想来找到中间排列第7位的数。这里有一种不太好想到的方式,**是用删的方式**,因为**如果我们可以把多余的数排除掉,最终剩下的那个数,是不是就是我们要找的数?**对于上面的数组,我们可以先删掉 7/2=3 个数。那这里,可以选择删上面的,也可以选择删下面的。那这里因为 i -**说明:**解集不能包含重复的子集 +**说明:** 解集不能包含重复的子集
@@ -53,7 +53,7 @@ date: 2020年07月12日 PNG -然后考虑解题思路,**暂且不谈回溯,我们其实可以用二进制来模拟每个元素是否选中的状态。**又因为我们已知了对于 N 个元素共有 2^N 个子集,所以我们直接遍历 2^N 个元素。 +然后考虑解题思路,**暂且不谈回溯,我们其实可以用二进制来模拟每个元素是否选中的状态。** 又因为我们已知了对于 N 个元素共有 2^N 个子集,所以我们直接遍历 2^N 个元素。 ```java class Solution { diff --git "a/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/50.md" "b/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/50.md" index 9040e203..8e71a1dc 100644 --- "a/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/50.md" +++ "b/website/1.99.345円205円266円344円273円226円350円241円245円345円205円205円351円242円230円347円233円256円/50.md" @@ -125,7 +125,7 @@ Emmmm.....或者说常见一点的: PNG -但是这里如果细分的话,又分出来了。**顶点加权图和边加权图。**说白了,就是有人发现如果只给边加上权值(就是长度)并不够用,有时候也需要给顶点加上权值。 +但是这里如果细分的话,又分出来了。**顶点加权图和边加权图。** 说白了,就是有人发现如果只给边加上权值(就是长度)并不够用,有时候也需要给顶点加上权值。 PNG

AltStyle によって変換されたページ (->オリジナル) /