From b1a17325eeaa8198011f6778e400dda5cd290bab Mon Sep 17 00:00:00 2001 From: youngyangyang04 <826123027@qq.com> Date: Thu, 5 Nov 2020 15:18:39 +0800 Subject: [PATCH] Update --- README.md | 3 + pics/127.单词接龙.png | Bin 0 -> 46239 bytes pics/455.分发饼干.png | Bin 0 -> 35375 bytes problems/0057.插入区间.md | 4 + problems/0093.复原IP地址.md | 141 +++++++++++++++++++++++++------- problems/0127.单词接龙.md | 73 +++++++++++++++++ problems/0455.分发饼干.md | 42 ++++++++++ 7 files changed, 233 insertions(+), 30 deletions(-) create mode 100644 pics/127.单词接龙.png create mode 100644 pics/455.分发饼干.png create mode 100644 problems/0127.单词接龙.md create mode 100644 problems/0455.分发饼干.md diff --git a/README.md b/README.md index 2f204e10..69c285bc 100644 --- a/README.md +++ b/README.md @@ -138,6 +138,7 @@ * [本周小结!(回溯算法系列一)](https://mp.weixin.qq.com/s/m2GnTJdkYhAamustbb6lmw) * [回溯算法:求组合总和(二)](https://mp.weixin.qq.com/s/FLg8G6EjVcxBjwCbzpACPw) * [回溯算法:求组合总和(三)](https://mp.weixin.qq.com/s/_1zPYk70NvHsdY8UWVGXmQ) + * [回溯算法:分割回文串](https://mp.weixin.qq.com/s/Pb1epUTbU8fHIht-g_MS5Q) (持续更新中....) @@ -336,6 +337,7 @@ |[0113.路径总和II](https://github.com/youngyangyang04/leetcode/blob/master/problems/0113.路径总和II.md) |二叉树树 |简单|**深度优先搜索/递归** **回溯** **栈**| |[0116.填充每个节点的下一个右侧节点指针](https://github.com/youngyangyang04/leetcode/blob/master/problems/0116.填充每个节点的下一个右侧节点指针.md) |二叉树 |中等|**递归** **迭代/广度优先搜索**| |[0117.填充每个节点的下一个右侧节点指针II](https://github.com/youngyangyang04/leetcode/blob/master/problems/0117.填充每个节点的下一个右侧节点指针II.md) |二叉树 |中等|**递归** **迭代/广度优先搜索**| +|[0127.单词接龙](https://github.com/youngyangyang04/leetcode/blob/master/problems/ 0127.单词接龙.md) |广度优先搜索 |中等|**广度优先搜索**| |[0129.求根到叶子节点数字之和](https://github.com/youngyangyang04/leetcode/blob/master/problems/0129.求根到叶子节点数字之和.md) |二叉树 |中等|**递归/回溯** 递归里隐藏着回溯,和113.路径总和II类似| |[0131.分割回文串](https://github.com/youngyangyang04/leetcode/blob/master/problems/0131.分割回文串.md) |回溯 |中等|**回溯**| |[0141.环形链表](https://github.com/youngyangyang04/leetcode/blob/master/problems/0141.环形链表.md) |链表 |简单|**快慢指针/双指针**| @@ -377,6 +379,7 @@ |[0434.字符串中的单词数](https://github.com/youngyangyang04/leetcode/blob/master/problems/0434.字符串中的单词数.md) |字符串 |简单|**模拟**| |[0450.删除二叉搜索树中的节点](https://github.com/youngyangyang04/leetcode/blob/master/problems/0450.删除二叉搜索树中的节点.md) |树 |中等|**递归**| |[0454.四数相加II](https://github.com/youngyangyang04/leetcode/blob/master/problems/0454.四数相加II.md) |哈希表 |中等| **哈希**| +|[0455.分发饼干](https://github.com/youngyangyang04/leetcode/blob/master/problems/0455.分发饼干.md) |贪心 |简单| **贪心**| |[0459.重复的子字符串](https://github.com/youngyangyang04/leetcode/blob/master/problems/0459.重复的子字符串.md) |字符创 |简单| **KMP**| |[0486.预测赢家](https://github.com/youngyangyang04/leetcode/blob/master/problems/0486.预测赢家.md) |动态规划 |中等| **递归** **记忆递归** **动态规划**| |[0491.递增子序列](https://github.com/youngyangyang04/leetcode/blob/master/problems/0491.递增子序列.md) |深度优先搜索 |中等|**深度优先搜索/回溯算法**| diff --git a/pics/127.单词接龙.png b/pics/127.单词接龙.png new file mode 100644 index 0000000000000000000000000000000000000000..581bb558447da279a757be4e9ae65b8c2ae34de2 GIT binary patch literal 46239 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�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 literal 0 HcmV?d00001 diff --git a/pics/455.分发饼干.png b/pics/455.分发饼干.png new file mode 100644 index 0000000000000000000000000000000000000000..ae66b57f33a5998111b6d1ff7fbfaf38ebdcd582 GIT binary patch literal 35375 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 literal 0 HcmV?d00001 diff --git a/problems/0057.插入区间.md b/problems/0057.插入区间.md index 8d6ecc42..79dba1c4 100644 --- a/problems/0057.插入区间.md +++ b/problems/0057.插入区间.md @@ -1,4 +1,8 @@ +# 链接 +https://leetcode-cn.com/problems/insert-interval/ + +# 思路 这道题目合并的情况有很多种,想想都让人头疼。 我把这道题目化为三步: diff --git a/problems/0093.复原IP地址.md b/problems/0093.复原IP地址.md index 3da5002c..ab6621d8 100644 --- a/problems/0093.复原IP地址.md +++ b/problems/0093.复原IP地址.md @@ -1,7 +1,10 @@ ## 题目地址 -https://leetcode-cn.com/problems/restore-ip-addresses/ -# 93. 复原IP地址 +> 一些录友表示跟不上现在的节奏,想从头开始打卡学习起来,可以在公众号左下方,「算法汇总」可以找到历史文章,都是按系列排好顺序的,挨个看就可以了,看文章下的留言你就会发现,有很多录友都在从头打卡,你并不孤单! + +# 93.复原IP地址 + +题目地址:https://leetcode-cn.com/problems/restore-ip-addresses/ 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。 @@ -9,9 +12,7 @@ https://leetcode-cn.com/problems/restore-ip-addresses/ 例如:"0.1.2.201" 和 "192.168.1.1" 是 有效的 IP 地址,但是 "0.011.255.245"、"192.168.1.312" 和 "192.168@1.1" 是 无效的 IP 地址。 -  - -示例 1: +示例 1: 输入:s = "25525511135" 输出:["255.255.11.135","255.255.111.35"] @@ -36,17 +37,44 @@ https://leetcode-cn.com/problems/restore-ip-addresses/ s 仅由数字组成 -## 思路 +# 思路 -这道题目相信大家刚看时看到的时候,应该会一脸茫然。 +做这道题目之前,最好先把[回溯算法:分割回文串](https://mp.weixin.qq.com/s/Pb1epUTbU8fHIht-g_MS5Q)这个做了。 -那么只要意识到这是切割问题,那么切割问题就可以使用回溯搜索法把所有可能性搜出来,和[0131.分割回文串](https://github.com/youngyangyang04/leetcode/blob/master/problems/0131.分割回文串.md) 类似。 +这道题目相信大家刚看的时候,应该会一脸茫然。 -那么切割问题可以抽象为树型结构,如图: +其实只要意识到这是切割问题,**切割问题就可以使用回溯搜索法把所有可能性搜出来**,和刚做过的[回溯算法:分割回文串](https://mp.weixin.qq.com/s/Pb1epUTbU8fHIht-g_MS5Q)就十分类似了。 + +切割问题可以抽象为树型结构,如图: -终止条件: 和[0131.分割回文串](https://github.com/youngyangyang04/leetcode/blob/master/problems/0131.分割回文串.md) 不同,本题明确要求只会分成4段,所以不能用切割线切到最后作为终止条件,而是分割的段数作为终止条件。 + +## 回溯三部曲 + +* 递归参数 + +在[回溯算法:分割回文串](https://mp.weixin.qq.com/s/Pb1epUTbU8fHIht-g_MS5Q)中我们就提到切割问题类似组合问题。 + +startIndex一定是需要的,因为不能重复分割,记录下一层递归分割的起始位置。 + +本题我们还需要一个变量pointNum,记录添加逗点的数量。 + +所以代码如下: + +``` + vector result;// 记录结果 + // startIndex: 搜索的起始位置,pointNum:添加逗点的数量 + void backtracking(string& s, int startIndex, int pointNum) { +``` + +* 递归终止条件 + +终止条件和[回溯算法:分割回文串](https://mp.weixin.qq.com/s/Pb1epUTbU8fHIht-g_MS5Q)情况就不同了,本题明确要求只会分成4段,所以不能用切割线切到最后作为终止条件,而是分割的段数作为终止条件。 + +pointNum表示逗点数量,pointNum为3说明字符串分成了4段了。 + +然后验证一下第四段是否合法,如果合法就加入到结果集里 代码如下: @@ -60,24 +88,40 @@ if (pointNum == 3) { // 逗点数量为3时,分隔结束 } ``` -那么再来看循环遍历的过程如何截取子串。 +* 单层搜索的逻辑 -在`for (int i = startIndex; i < s.size(); i++)`循环中 [startIndex, i]这个区间就是截取的子串,需要判断这个子串是否合法,如果合法就在字符串后面加上符号`.`表示已经分割。 +在[回溯算法:分割回文串](https://mp.weixin.qq.com/s/Pb1epUTbU8fHIht-g_MS5Q)中已经讲过在循环遍历中如何截取子串。 + +在`for (int i = startIndex; i < s.size(); i++)`循环中 [startIndex, i]这个区间就是截取的子串,需要判断这个子串是否合法。 + +如果合法就在字符串后面加上符号`.`表示已经分割。 + +如果不合法就结束本层循环,如图中剪掉的分支: + + 然后就是递归和回溯的过程: -递归调用时,下一层递归的startIndex要从i+2开始(因为刚刚在字符串中加入了分隔符`.`),同时记录分割符的数量pointNum 要 +1。 +递归调用时,下一层递归的startIndex要从i+2开始(因为需要在字符串中加入了分隔符`.`),同时记录分割符的数量pointNum 要 +1。 -回溯的时候,就将刚刚加入的分隔符`.` 删掉就可以了,**pointNum其实也要减一,但是 pointNum+1 的逻辑放在递归函数的参数里了,这里相当于隐藏了回溯pointNum的过程**。 +回溯的时候,就将刚刚加入的分隔符`.` 删掉就可以了,pointNum也要-1。 -递归和回溯代码如下: +代码如下: ``` -// 插入逗点之后下一个子串的起始位置为i+2 -backtracking(s, i + 2, pointNum + 1); -s.erase(s.begin() + i + 1); // 回溯时删掉逗点 +for (int i = startIndex; i < s.size(); i++) { + if (isValid(s, startIndex, i)) { // 判断 [startIndex,i] 这个区间的子串是否合法 + s.insert(s.begin() + i + 1 , '.'); // 在i的后面插入一个逗点 + pointNum++; + backtracking(s, i + 2, pointNum); // 插入逗点之后下一个子串的起始位置为i+2 + pointNum--; // 回溯 + s.erase(s.begin() + i + 1); // 回溯删掉逗点 + } else break; // 不合法,直接结束本层循环 +} ``` +## 判断子串是否合法 + 最后就是在写一个判断段位是否是有效段位了。 主要考虑到如下三点: @@ -111,9 +155,27 @@ bool isValid(const string& s, int start, int end) { } ``` -关键代码已经讲完,整体代码如下: +## C++代码 -## C++代码 + +根据[关于回溯算法,你该了解这些!](https://mp.weixin.qq.com/s/gjSgJbNbd1eAA5WkA-HeWw)给出的回溯算法模板: + +``` +void backtracking(参数) { + if (终止条件) { + 存放结果; + return; + } + + for (选择:本层集合中元素(树中节点孩子的数量就是集合的大小)) { + 处理节点; + backtracking(路径,选择列表); // 递归 + 回溯,撤销处理结果 + } +} +``` + +可以写出如下回溯算法C++代码: ``` class Solution { @@ -128,16 +190,14 @@ private: } return; } - // 从起始位置开始构造字段字符串串 for (int i = startIndex; i < s.size(); i++) { - // 判断 [startIndex,i] 这个区间的子串是否合法 - if (isValid(s, startIndex, i)) { - // 合法,在i的后面插入一个逗点 - s.insert(s.begin() + i + 1 , '.'); - // 插入逗点之后下一个子串的起始位置为i+2 - backtracking(s, i + 2, pointNum + 1); - s.erase(s.begin() + i + 1); // 回溯时删掉逗点 - } else break; + if (isValid(s, startIndex, i)) { // 判断 [startIndex,i] 这个区间的子串是否合法 + s.insert(s.begin() + i + 1 , '.'); // 在i的后面插入一个逗点 + pointNum++; + backtracking(s, i + 2, pointNum); // 插入逗点之后下一个子串的起始位置为i+2 + pointNum--; // 回溯 + s.erase(s.begin() + i + 1); // 回溯删掉逗点 + } else break; // 不合法,直接结束本层循环 } } // 判断字符串s在左闭又闭区间[start, end]所组成的数字是否合法 @@ -167,6 +227,27 @@ public: return result; } }; + ``` -> 更多算法干货文章持续更新,可以微信搜索「代码随想录」第一时间围观,关注后,回复「Java」「C++」 「python」「简历模板」「数据结构与算法」等等,就可以获得我多年整理的学习资料。 +# 总结 + +在[回溯算法:分割回文串](https://mp.weixin.qq.com/s/Pb1epUTbU8fHIht-g_MS5Q)中我列举的分割字符串的难点,本题都覆盖了。 + +而且本题还需要操作字符串添加逗号作为分隔符,并验证区间的合法性。 + +可以说是[回溯算法:分割回文串](https://mp.weixin.qq.com/s/Pb1epUTbU8fHIht-g_MS5Q)的加强版。 + +在本文的树形结构图中,我已经把详细的分析思路都画了出来,相信大家看了之后一定会思路清晰不少! + +**就酱,「代码随想录」值得推荐给你的朋友们!** + + +一些录友表示跟不上现在的节奏,想从头开始打卡学习起来,可以在在公众号左下方,「算法汇总」可以找到历史文章,都是按系列排好顺序的,挨个看就可以了,别忘了打卡。 + +**很多录友都在从头开始打卡学习,看看前面文章的留言区就知道了,你并不孤单!** + + + +> 我是[程序员Carl](https://github.com/youngyangyang04),更多[精彩算法文章](https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzUxNjY5NTYxNA==&action=getalbum&album_id=1485825793120387074&scene=173#wechat_redirect)尽在:[代码随想录](https://img-blog.csdnimg.cn/20200815195519696.png),期待你的关注! + diff --git a/problems/0127.单词接龙.md b/problems/0127.单词接龙.md new file mode 100644 index 00000000..575fc4c0 --- /dev/null +++ b/problems/0127.单词接龙.md @@ -0,0 +1,73 @@ + +## 题目链接 + +https://leetcode-cn.com/problems/word-ladder/ + +## 思路 + +以示例1为例,从这个图中可以看出 hit 到 cog的路线,不止一条,有三条,两条是最短的长度为5,一条长度为6。 + + + +本题只需要求出最短长度就可以了,不用找出路径。 + +所以这道题要解决两个问题: + +* 图中的线是如何连在一起的 +* 起点和终点的最短路径长度 + + +首先题目中并没有给出点与点之间的连线,而是要我们自己去连,条件是字符只能差一个,所以判断点与点之间的关系,要自己判断是不是差一个字符,如果差一个字符,那就是有链接。 + +然后就是求起点和终点的最短路径长度,**这里无向图求最短路,广搜最为合适,广搜只要搜到了终点,那么一定是最短的路径**。因为广搜就是以起点中心向四周扩散的搜索。 + +本题如果用深搜,会非常麻烦。 + +另外需要有一个注意点: + +* 本题是一个无向图,需要用标记位,标记着节点是否走过,否则就会死循环! +* 本题给出集合是数组型的,可以转成set结构,查找更快一些 + +C++代码如下:(详细注释) + +``` +class Solution { +public: + int ladderLength(string beginWord, string endWord, vector& wordList) { + // 将vector转成unordered_set,提高查询速度 + unordered_set wordSet(wordList.begin(), wordList.end()); + // 如果endWord没有在wordSet出现,直接返回0 + if (wordSet.find(endWord) == wordSet.end()) return 0; + // 记录word是否访问过 + unordered_map visitMap; // + // 初始化队列 + queue que; + que.push(beginWord); + // 初始化visitMap + visitMap.insert(pair(beginWord, 1)); + + while(!que.empty()) { + string word = que.front(); + que.pop(); + int path = visitMap[word]; // 这个word的路径长度 + for (int i = 0; i < word.size(); i++) { + string newWord = word; // 用一个新单词替换word,因为每次置换一个字母 + for (int j = 0 ; j < 26; j++) { + newWord[i] = j + 'a'; + if (newWord == endWord) return path + 1; // 找到了end,返回path+1 + // wordSet出现了newWord,并且newWord没有被访问过 + if (wordSet.find(newWord) != wordSet.end() + && visitMap.find(newWord) == visitMap.end()) { + // 添加访问信息 + visitMap.insert(pair(newWord, path + 1)); + que.push(newWord); + } + } + } + } + return 0; + } +}; +``` +> 我是[程序员Carl](https://github.com/youngyangyang04),组队刷题可以找我,本文[leetcode刷题攻略](https://github.com/youngyangyang04/leetcode-master)已收录,更多[精彩算法文章](https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzUxNjY5NTYxNA==&action=getalbum&album_id=1485825793120387074&scene=173#wechat_redirect)尽在:[代码随想录](https://img-blog.csdnimg.cn/20200815195519696.png),期待你的关注! + diff --git a/problems/0455.分发饼干.md b/problems/0455.分发饼干.md new file mode 100644 index 00000000..b1d831f7 --- /dev/null +++ b/problems/0455.分发饼干.md @@ -0,0 +1,42 @@ + +## 链接 + +https://leetcode-cn.com/problems/assign-cookies/ + +## 思路 + +这道题目呢,其实可以用较大大的饼干优先满足可以满足的胃口大的小孩。 + +注意我这里用的是 可以满足的胃口大的小孩。这样就不会造成大饼干的浪费。 + +所以使用贪心策略,讲饼干数组和小孩数组排序。 + +然后从后向前遍历小孩数组,用大饼干优先满足胃口大的,并统计满足小孩数量的大小就可以了。 + +如图: + + + + +C++代码整体如下: + +``` +class Solution { +public: + int findContentChildren(vector& g, vector& s) { + sort(g.begin(), g.end()); + sort(s.begin(), s.end()); + int index = s.size() - 1; // 饼干数组的下表 + int result = 0; + for (int i = g.size() - 1; i >= 0; i--) { + if (index >= 0 && s[index] >= g[i]) { + result++; + index--; + } + } + return result; + } +}; +``` +> 我是[程序员Carl](https://github.com/youngyangyang04),组队刷题可以找我,本文[leetcode刷题攻略](https://github.com/youngyangyang04/leetcode-master)已收录,更多[精彩算法文章](https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzUxNjY5NTYxNA==&action=getalbum&album_id=1485825793120387074&scene=173#wechat_redirect)尽在:[代码随想录](https://img-blog.csdnimg.cn/20200815195519696.png),期待你的关注! +