
回溯
夏末秋也凉
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
力扣-回溯-37 解数独
双层递归,而且在传递参数使用&的好处是不用在复制一次样本,浪费时间。原创 2025-02-22 15:49:00 · 223 阅读 · 0 评论 -
力扣-回溯-51 N皇后
在棋盘上放皇后在回溯方法的树上来说,深度就是每一行放的皇后,宽度就是for循环里遍历放皇后,还有个问题是需要判断当前位置是否允许放皇后。原创 2025-02-22 14:25:19 · 450 阅读 · 0 评论 -
力扣-回溯-332 重新安排行程
要完成对当前机场和目标机场的数据定义,要用出发机场映射到目标机场,而且出发机场可能有多个,所以要使用unordered_map作为外部容器,由于同一个出发机场到目标机场,需要先到string小的目标机场尝试,所以用map记录目标机场以及当前航班的次数回溯时,先从字母序小的机场开始尝试,一旦获取到一个结果后就返回true,让剩下的回溯不再进行。原创 2025-02-22 13:52:41 · 176 阅读 · 0 评论 -
力扣-47 全排列Ⅱ
在全排列的基础上,去重掉横向的树枝。原创 2025-02-21 15:55:32 · 262 阅读 · 0 评论 -
力扣-回溯-46 全排列
单层递归逻辑中用used数组记录是否用过就可以了。原创 2025-02-21 15:42:17 · 213 阅读 · 0 评论 -
力扣-回溯-491 非递减子序列
重点是在树枝去重的时候不能使用之前的used去重了,原因是题目中不允许对序列进行排序,只有排序后才能把相同数字放一起,才能用used数组完成去重。原创 2025-02-21 15:32:50 · 193 阅读 · 0 评论 -
力扣-回溯-90 子集Ⅱ
和之前树枝去重的代码类似,也需要使用use数组记录是否使用,记录使用情况。原创 2025-02-21 14:55:23 · 296 阅读 · 0 评论 -
力扣-回溯-78 子集
根据子集的定义可以得到符合条件的子集应该是在树枝节点和叶子节点上都需要收集结果。原创 2025-02-21 14:41:20 · 180 阅读 · 0 评论 -
力扣-回溯-93 复原IP地址
用一个vector存放可能的结果,然后用一个变量判断插入点的数量,假设再最后一段后也插入点。原创 2025-02-21 14:33:33 · 236 阅读 · 0 评论 -
力扣-回溯-131 分割回文串
需要判断回文串,再选择是否添加到path里。原创 2025-02-21 10:15:44 · 231 阅读 · 0 评论 -
力扣-回溯-40 组合总和Ⅱ
需要实现树枝层面的去重,利用use数组来判别,如果前一个节点已经使用了,说明这是在往深处遍历了,允许重复,如果前一个节点没有使用且值相同的话,说明是在树枝上重复了。原创 2025-02-20 21:00:27 · 215 阅读 · 0 评论 -
力扣-回溯-39 组合总和
和之前几道组合的题目差不多,不同的是允许元素重复,所以要求单层递归里的for循环从当前的index开始即可。原创 2025-02-20 16:45:36 · 248 阅读 · 0 评论 -
力扣-回溯-17 电话号码的字母组合
和之前的回溯不同的是,要遍历完所有的数字,并且在单层递归逻辑里需要遍历一整个字符串。原创 2025-02-20 16:09:58 · 187 阅读 · 0 评论 -
力扣-回溯-216 组合总和Ⅲ
还是利用回溯,取出和放回。原创 2025-02-20 15:18:07 · 298 阅读 · 0 评论 -
力扣-回溯-77 组合
单层逻辑是放比现在的nums最后一个元素+1开始放入和收回,终止条件是nums的size==k,就收集结果。原创 2025-02-20 14:45:36 · 211 阅读 · 0 评论