From 1d11467a29b09d3aa6f5b8d8354714b9f9d950b7 Mon Sep 17 00:00:00 2001 From: youngyangyang04 <826123027@qq.com> Date: Thu, 10 Sep 2020 11:48:19 +0800 Subject: [PATCH] Update --- README.md | 1 + pics/40.组合总和II.png | Bin 0 -> 165077 bytes problems/0028.实现strStr().md | 249 ++++++++++++++++++++++++- problems/0040.组合总和II.md | 45 ++++- problems/0459.重复的子字符串.md | 2 +- problems/字符串总结.md | 57 ++++-- 6 files changed, 320 insertions(+), 34 deletions(-) create mode 100644 pics/40.组合总和II.png diff --git a/README.md b/README.md index aba24737..20e9a434 100644 --- a/README.md +++ b/README.md @@ -55,6 +55,7 @@ * [字符串:都来看看KMP的看家本领!](https://mp.weixin.qq.com/s/Gk9FKZ9_FSWLEkdGrkecyg) * [字符串:听说你对KMP有这些疑问?](https://mp.weixin.qq.com/s/mqx6IM2AO4kLZwvXdPtEeQ) * [字符串:KMP算法还能干这个!](https://mp.weixin.qq.com/s/lR2JPtsQSR2I_9yHbBmBuQ) +* [字符串:前缀表不右移,难道就写不出KMP了?](https://mp.weixin.qq.com/s/p3hXynQM2RRROK5c6X7xfw) (持续更新中....) diff --git a/pics/40.组合总和II.png b/pics/40.组合总和II.png new file mode 100644 index 0000000000000000000000000000000000000000..59cc660b68cdaf4a1bfd5b7d3df9d3fecb5636c5 GIT binary patch literal 165077 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 z%0D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≥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 + +动画里,我特意把 子串`aa` 标记上了,这是有原因的,大家先注意一下,后面还会说道。 + +可以看出,文本串中第六个字符b 和 模式串的第六个字符f,不匹配了。如果暴力匹配,会发现不匹配,此时就要从头匹配了。 + +但如果使用前缀表,就不会从头匹配,而是从上次已经匹配的内容开始匹配,找到了模式串中第三个字符b继续开始匹配。 + +此时就要问了**前缀表是如何记录的呢?** + +首先要知道前缀表的任务是当前位置匹配失败,找到之前已经匹配上的位置,在重新匹配,此也意味着在某个字符失配时,前缀表会告诉你下一步匹配中,模式串应该跳到哪个位置。 + +那么什么是前缀表:**记录下表i之前(包括i)的字符串中,有多大长度的相同前缀后缀。** + +# 为什么一定要用前缀表 + +这就是前缀表那为啥就能告诉我们 上次匹配的位置,并跳过去呢? + +回顾一下,刚刚匹配的过程在下表5的地方遇到不匹配,模式串是指向f,如图: + + + +然后就找到了下表2,指向b,继续匹配:如图: + + +以下这句话,对于理解为什么使用前缀表可以告诉我们匹配失败之后跳到哪里重新匹配 非常重要! + +**下表5之前这部分的字符串(也就是字符串aabaa)的最长相等的前缀 和 后缀字符串是 子字符串aa ,因为找到了最长相等的前缀和后缀,匹配失败的位置是后缀子串的后面,那么我们找到与其相同的前缀的后面从新匹配就可以了。** + +所以前缀表具有告诉我们当前位置匹配失败,跳到之前已经匹配过的地方的能力。 + +**很多介绍KMP的文章或者视频并没有把为什么要用前缀表?这个问题说清楚,而是直接默认使用前缀表。** + +# 如何计算前缀表 + +接下来就要说一说怎么计算前缀表。 + +如图: + + + +长度为前1个字符的子串`a`,最长相同前后缀的长度为0。(注意字符串的**前缀是指不包含最后一个字符的所有以第一个字符开头的连续子串**;**后缀是指不包含第一个字符的所有以最后一个字符结尾的连续子串**。) + + +长度为前2个字符的子串`aa`,最长相同前后缀的长度为1。 + + +长度为前3个字符的子串`aab`,最长相同前后缀的长度为0。 + +以此类推: +长度为前4个字符的子串`aaba`,最长相同前后缀的长度为1。 +长度为前5个字符的子串`aabaa`,最长相同前后缀的长度为2。 +长度为前6个字符的子串`aabaaf`,最长相同前后缀的长度为0。 + +那么把求得的最长相同前后缀的长度就是对应前缀表的元素,如图: + + +可以看出模式串与前缀表对应位置的数字表示的就是:**下表i之前(包括i)的字符串中,有多大长度的相同前缀后缀。** + +再来看一下如何利用 前缀表找到 当字符不匹配的时候应该指针应该移动的位置。如动画所示: + + + +找到的不匹配的位置, 那么此时我们要看它的前一个字符的前缀表的数值是多少。 + +为什么要前一个字符的前缀表的数值呢,因为要找前面字符串的最长相同的前缀和后缀。 + +所以要看前一位的 前缀表的数值。 + +前一个字符的前缀表的数值是2, 所有把下表移动到下表2的位置继续比配。 可以再反复看一下上面的动画。 + +最后就在文本串中找到了和模式串匹配的子串了。 + +# 前缀表与next数组 + +很多KMP算法的时间都是使用next数组来做回退操作,那么next数组与前缀表有什么关系呢? + +next数组就可以是前缀表,但是很多实现都是把前缀表统一减一(右移一位,初始位置为-1)之后作为next数组。 + +为什么这么做呢,其实也是很多文章视频没有解释清楚的地方。 + +其实**这并不涉及到KMP的原理,而是具体实现,next数组即可以就是前缀表,也可以是前缀表统一减一(右移一位,初始位置为-1)。** + +后面我会提供两种不同的实现代码,大家就明白了了。 + +# 使用next数组来匹配 + +以下我们以前缀表统一减一之后的next数组来做演示。 + +有了next数组,就可以根据next数组来 匹配文本串s,和模式串t了。 + +注意next数组是新前缀表(旧前缀表统一减一了)。 + +匹配过程动画如下: + + + +# 时间复杂度分析 + + +其中n为文本串长度,m为模式串长度,因为在匹配的过程中,根据前缀表不断调整匹配的位置,可以看出匹配的过程是O(n),之前还要单独生成next数组,时间复杂度是O(m)。所以整个KMP算法的时间复杂度是O(n+m)的。 + +暴力的解法显而易见是O(n * m),所以**KMP在字符串匹配中极大的提高的搜索的效率。** + +为了和[字符串:KMP是时候上场了(一文读懂系列)](https://mp.weixin.qq.com/s/70OXnZ4Ez29CKRrUpVJmug)字符串命名统一,方便大家理解,以下文章统称haystack为文本串, needle为模式串。 都知道使用KMP算法,一定要构造next数组。 @@ -62,7 +231,7 @@ int j = -1; next[0] = j; ``` -j 为什么要初始化为 -1呢,因为之前说过 前缀表要统一减一的操作,所以j初始化为-1。 +j 为什么要初始化为 -1呢,因为之前说过 前缀表要统一减一的操作仅仅是其中的一种实现,我们这里选择j初始化为-1,下文我还会给出j不初始化为-1的实现代码。 next[i] 表示 i(包括i)之前最长相等的前后缀长度(其实就是j) @@ -200,7 +369,7 @@ for (int i = 0; i < s.size(); i++) { // 注意i就从0开始 此时所有逻辑的代码都已经写出来了,本题整体代码如下: -## C++代码 +# 前缀表统一减一 C++代码实现 ``` class Solution { @@ -242,7 +411,61 @@ public: ``` -前缀表不减一版本 +# 前缀表(不减一)C++实现 + +那么前缀表就不减一了,也不右移的,到底行不行呢?行! + +我之前说过,这仅仅是KMP算法实现上的问题,如果就直接使用前缀表可以换一种回退方式,找j=next[j-1] 来进行回退。 + +主要就是j=next[x]这一步最为关键! + +我给出的getNext的实现为:(前缀表统一减一) + +``` +void getNext(int* next, const string& s) { +    int j = -1; +    next[0] = j; +    for(int i = 1; i < s.size(); i++) { // 注意i从1开始 +        while (j >= 0 && s[i] != s[j + 1]) { // 前后缀不相同了 +            j = next[j]; // 向前回溯 +        } +        if (s[i] == s[j + 1]) { // 找到相同的前后缀 +            j++; +        } +        next[i] = j; // 将j(前缀的长度)赋给next[i] +    } +} + +``` +此时如果输入的模式串为aabaaf,对应的next为-1 0 -1 0 1 -1。 + +这里j和next[0]初始化为-1,整个next数组是以 前缀表减一之后的效果来构建的。 + +那么前缀表不减一来构建next数组,代码如下: + +``` + void getNext(int* next, const string& s) { + int j = 0; + next[0] = 0; + for(int i = 1; i < s.size(); i++) { + while (j > 0 && s[i] != s[j]) { // j要保证大于0,因为下面有取j-1作为数组下表的操作 + j = next[j - 1]; // 注意这里,是要找前一位的对应的回退位置了 + } + if (s[i] == s[j]) { + j++; + } + next[i] = j; + } + } + +``` + +此时如果输入的模式串为aabaaf,对应的next为 0 1 0 1 2 0,(其实这就是前缀表的数值了)。 + +那么用这样的next数组也可以用来做匹配,代码要有所改动。 + +实现代码如下: + ``` class Solution { public: @@ -281,5 +504,21 @@ public: } }; ``` + +# 总结 + +我们介绍了什么是KMP,KMP可以解决什么问题,然后分析KMP算法里的next数组,知道了next数组就是前缀表,再分析为什么要是前缀表而不是什么其他表。 + +接着从给出的模式串中,我们一步一步的推导出了前缀表,得出前缀表无论是统一减一还是不同意减一得到的next数组仅仅是kmp的实现方式的不同。 + +其中还分析了KMP算法的时间复杂度,并且和暴力方法做了对比。 + +然后先用前缀表统一减一得到的next数组,求得文本串s里是否出现过模式串t,并给出了具体分析代码。 + +又给出了直接用前缀表作为next数组,来做匹配的实现代码。 + +可以说把KMP的每一个细微的细节都扣了出来,毫无遮掩的展示给大家了! + + > 更多算法干货文章持续更新,可以微信搜索「代码随想录」第一时间围观,关注后,回复「Java」「C++」 「python」「简历模板」「数据结构与算法」等等,就可以获得我多年整理的学习资料。 diff --git a/problems/0040.组合总和II.md b/problems/0040.组合总和II.md index dfd513b7..f1394d2b 100644 --- a/problems/0040.组合总和II.md +++ b/problems/0040.组合总和II.md @@ -30,43 +30,68 @@ candidates 中的每个数字在每个组合中只能使用一次。 # 思想 +这道题目和[0039.组合总和](https://github.com/youngyangyang04/leetcode/blob/master/problems/0039.组合总和.md) 区别就是要去重。 + +很多同学在去重上想不明白,其实很多题解也没有讲清楚,反正代码是能过的,感觉是那么回事,稀里糊涂的先把题目过了。 + +这个去重为什么很难理解呢,**所谓去重,其实就是使用过的元素不能重复选取。** 这么一说好像很简单! + + +都知道组合问题可以抽象为树形结构,那么“使用过”在这个树形结构上是有两个维度的,一个维度是同一树枝上使用过,一个维度是同一树层上使用过。**没有理解这两个层面上的“使用过” 是造成大家没有彻底理解去重的根本原因。** + +所以要明确我们要去重的是同一树层上的“使用过”。 + +为了理解去重我们来举一个例子,candidates = [1, 1, 2], target = 3,(方便起见candidates已经排序了) + +选择过程如图所示: + + + + +理解了“同一树枝使用过”和“同一树层使用过” 之后,我们在拉看如下代码实现,关键地方已经注释,大家应该就理解了 + # C++代码 ``` class Solution { private: vector> result; - void backtracking(vector& candidates, int target, vector& vec, int sum, int startIndex, vector& used) { + vector path; + void backtracking(vector& candidates, int target, int sum, int startIndex, vector& used) { if (sum > target) { return; } if (sum == target) { - result.push_back(vec); + result.push_back(path); return; } -// 每个组合中只能使用一次 所以用 startindex -// 给定一个数组 candidates 默认有重复项,解集不能包含重复的组合。 所以使用if这一套 + // 每个组合中只能使用一次 所以用 startindex + // 给定一个数组 candidates 默认有重复项,解集不能包含重复的组合。 所以使用if这一套 for (int i = startIndex; i < candidates.size(); i++) { - if (i > 0 && candidates[i] == candidates[i - 1] && used[i - 1] == false) { + // 这里理解used[i - 1]非常重要 + // used[i - 1] == true,说明同一树支candidates[i - 1]使用过 + // used[i - 1] == false,说明同一树层candidates[i - 1]使用过 + // 而我们要对同一树层使用过的元素进行跳过 + if (i > 0 && candidates[i] == candidates[i - 1] && used[i - 1] == false) { continue; } sum += candidates[i]; - vec.push_back(candidates[i]); + path.push_back(candidates[i]); used[i] = true; - backtracking(candidates, target, vec, sum, i + 1, used); // 关键点在这里,不用i+1了 + backtracking(candidates, target, sum, i + 1, used); // 关键点在这里,不用i+1了 used[i] = false; sum -= candidates[i]; - vec.pop_back(); + path.pop_back(); } } public: vector> combinationSum2(vector& candidates, int target) { - vector vec; vector used(candidates.size(), false); + // 首先把给candidates排序,让其相同的元素都挨在一起。 sort(candidates.begin(), candidates.end()); - backtracking(candidates, target, vec, 0, 0, used); + backtracking(candidates, target, 0, 0, used); return result; } diff --git a/problems/0459.重复的子字符串.md b/problems/0459.重复的子字符串.md index 64e39c0a..87b0708f 100644 --- a/problems/0459.重复的子字符串.md +++ b/problems/0459.重复的子字符串.md @@ -84,7 +84,7 @@ public: }; ``` -# next减一C++代码 +# 前缀表不右移 C++代码 ``` class Solution { diff --git a/problems/字符串总结.md b/problems/字符串总结.md index 26387cb7..98d9b232 100644 --- a/problems/字符串总结.md +++ b/problems/字符串总结.md @@ -1,5 +1,10 @@ -# 字符串:帮你对字符串不再恐惧(总结篇) +> 该做一个总结了 +# 字符串:总结篇 + +其实我们已经学习了十天的字符串了,从字符串的定义到库函数的使用原则,从各种反转到KMP算法,相信大家应该对字符串有比较深刻的认识了。 + +那么这次我们来做一个总结。 # 什么是字符串 @@ -35,23 +40,26 @@ for (int i = 0; i < a.size(); i++) { 在文章[字符串:这道题目,使用库函数一行代码搞定](https://mp.weixin.qq.com/s/X02S61WCYiCEhaik6VUpFA)中强调了**打基础的时候,不要太迷恋于库函数。** -甚至一些同学习惯于调用substr,split,reverse之类的库函数,却不知道其实现原理,也不知道其时间复杂度,这样实现出来的代码,如果在面试面试现场,面试官问:“分析其时间复杂度”的话,一定会一脸懵逼! +甚至一些同学习惯于调用substr,split,reverse之类的库函数,却不知道其实现原理,也不知道其时间复杂度,这样实现出来的代码,如果在面试现场,面试官问:“分析其时间复杂度”的话,一定会一脸懵逼! -所以我们建议**如果题目关键的部分直接用库函数就可以解决,建议不要使用库函数。** +所以建议**如果题目关键的部分直接用库函数就可以解决,建议不要使用库函数。** **如果库函数仅仅是 解题过程中的一小部分,并且你已经很清楚这个库函数的内部实现原理的话,可以考虑使用库函数。** # 双指针法 -在[字符串:这道题目,使用库函数一行代码搞定](https://mp.weixin.qq.com/s/X02S61WCYiCEhaik6VUpFA) ,我们使用双指针法实现了反转字符串的操作,双指针法在数组,链表和字符串中很常用。 - -双指针法在数组,链表,字符串操作中,经常会使用双指针法。 +在[字符串:这道题目,使用库函数一行代码搞定](https://mp.weixin.qq.com/s/X02S61WCYiCEhaik6VUpFA) ,我们使用双指针法实现了反转字符串的操作,**双指针法在数组,链表和字符串中很常用。** 接着在[字符串:替换空格](https://mp.weixin.qq.com/s/t0A9C44zgM-RysAQV3GZpg),同样还是使用双指针法在时间复杂度O(n)的情况下完成替换空格。 **其实很多数组填充类的问题,都可以先预先给数组扩容带填充后的大小,然后在从后向前进行操作。** +那么针对数组删除操作的问题,其实在[数组:就移除个元素很难么?](https://mp.weixin.qq.com/s/wj0T-Xs88_FHJFwayElQlA)中就已经提到了使用双指针法进行移除操作。 + +同样的道理在[字符串:花式反转还不够!](https://mp.weixin.qq.com/s/X3qpi2v5RSp08mO-W5Vicw)中我们使用O(n)的时间复杂度,完成了删除冗余空格。 + +一些同学会使用for循环里调用库函数erase来移除元素,这其实是O(n^2)的操作,因为erase就是O(n)的操作,所以这也是典型的不知道库函数的时间复杂度,上来就用的案例了。 # 反转系列 @@ -75,21 +83,34 @@ for (int i = 0; i < a.size(); i++) { # KMP -KMP的主要思想是「当出现字符串不匹配时,可以知道一部分之前已经匹配的文本内容,可以利用这些信息避免从头再去做匹配了。」 +KMP的主要思想是**当出现字符串不匹配时,可以知道一部分之前已经匹配的文本内容,可以利用这些信息避免从头再去做匹配了。** -首先要理解KMP的理论基础,[字符串:KMP是时候上场了(一文读懂系列)](https://mp.weixin.qq.com/s/70OXnZ4Ez29CKRrUpVJmug),这里提到了,什么是KMP,什么是前缀表,以及为什么要用前缀表 +KMP的精髓所在就是前缀表,在[字符串:KMP是时候上场了(一文读懂系列)](https://mp.weixin.qq.com/s/70OXnZ4Ez29CKRrUpVJmug)中提到了,什么是KMP,什么是前缀表,以及为什么要用前缀表。 +前缀表:起始位置到下表i之前(包括i)的子串中,有多大长度的相同前缀后缀。 +那么使用KMP可以解决两类经典问题: -打基础的时候,不要太迷恋于库函数 +1. 匹配问题:[28. 实现 strStr()](https://mp.weixin.qq.com/s/Gk9FKZ9_FSWLEkdGrkecyg) +2. 重复子串问题:[459.重复的子字符串](https://mp.weixin.qq.com/s/lR2JPtsQSR2I_9yHbBmBuQ) -* [字符串:反转个字符串还有这个用处?](https://mp.weixin.qq.com/s/PmcdiWSmmccHAONzU0ScgQ) +在[字符串:听说你对KMP有这些疑问?](https://mp.weixin.qq.com/s/mqx6IM2AO4kLZwvXdPtEeQ) 强调了什么是前缀,什么是后缀,什么又是最长相等前后缀。 + +前缀:指不包含最后一个字符的所有以第一个字符开头的连续子串。 + +后缀:指不包含第一个字符的所有以最后一个字符结尾的连续子串。 + +然后**针对前缀表到底要不要减一,这其实是不同KMP实现的方式**,我们在[字符串:前缀表不右移,难道就写不出KMP了?](https://mp.weixin.qq.com/s/p3hXynQM2RRROK5c6X7xfw)中针对之前两个问题,分别给出了两个不同版本的的KMP实现。 + +其中主要**理解j=next[x]这一步最为关键!** + +# 总结 + +字符串类类型的题目,往往想法比较简单,但是实现起来并不容易,复杂的字符串题目非常考验对代码的掌控能力。 + +双指针法是字符串处理的常客。 + +KMP算法是字符串查找最重要的算法,但彻底理解KMP并不容易,我们已经写了五篇KMP的文章,不断总结和完善,最终才把KMP讲清楚。 + +好了字符串相关的算法知识就介绍到了这里了,明天开始新的征程,大家加油! -* [字符串:这道题目,使用库函数一行代码搞定](https://mp.weixin.qq.com/s/X02S61WCYiCEhaik6VUpFA) -* [字符串:简单的反转还不够!](https://mp.weixin.qq.com/s/XGSk1GyPWhfqj2g7Cb1Vgw) -* [字符串:替换空格](https://mp.weixin.qq.com/s/t0A9C44zgM-RysAQV3GZpg) -* [字符串:花式反转还不够!](https://mp.weixin.qq.com/s/X3qpi2v5RSp08mO-W5Vicw) -* [字符串:KMP是时候上场了(一文读懂系列)](https://mp.weixin.qq.com/s/70OXnZ4Ez29CKRrUpVJmug) -* [字符串:都来看看KMP的看家本领!](https://mp.weixin.qq.com/s/Gk9FKZ9_FSWLEkdGrkecyg) -* [字符串:听说你对KMP有这些疑问?](https://mp.weixin.qq.com/s/mqx6IM2AO4kLZwvXdPtEeQ) -* [字符串:KMP算法还能干这个!](https://mp.weixin.qq.com/s/lR2JPtsQSR2I_9yHbBmBuQ)