回溯剪枝
virgilshi
和舒适区说白白(ง'-')ง
展开
-
[LeetCode] 回溯题总结
写在前面回溯法属于图的暴力深度优先搜索的一种应用,其特点是,维护一条深度遍历的路径,在路径的尽头(遍历完毕)判断条件是否满足,若是则找到一个组合,若否,则沿着递归深度的路径逐步回溯,回溯时调转遍历方向,递归至其他路径check是否满足条件,直至遍历完所有的路径则终止,递归深入+回溯退出。37. 解数独原题链接解题思路: 采用行填充的方式,先填充第1行,再填充第2行…,直至填充完第9行,在填充第i行时,若填充至第9列,则下一次将填充第i+1行第0列,OK,保持这个整个思路,接下来来计算按照规定动作写回原创 2020-07-12 22:41:08 · 183 阅读 · 0 评论 -
LeetCode分割字符串+回文题小结(回溯剪枝、深度优先搜索+记忆数组)
131. 分割回文串给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。返回 s 所有可能的分割方案。原题链接解题思路: 本题解题的方法是回溯剪枝解法,解题的形式这里给出两种,即截取子串组合[参考博客题139. 单词拆分]和路径伸缩(常规的回溯写法)第一种形式解法直接给出代码,思路见参考博客总结,思路类似。class Solution {public: bool isPalindrome(string s) { int left = 0, right = s原创 2020-06-25 19:23:35 · 378 阅读 · 0 评论