回溯算法
Ymmmm__
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
leetcode37(hard)全网最易懂最全版本!!!!!—解数独
超时!!!!每次都两层for循环太慢,而且valid效率低,每次都要查找board。原创 2025-05-13 15:52:58 · 136 阅读 · 0 评论 -
leetcode51—N皇后(全网最易懂)
4、更新操作为“计数”,当计数为0时,该位置无攻击,当计数>0时,该位置有皇后攻击。1、一行作为一层递归,本层for循环代表着本行的皇后的每个可能位置。3、放入一个皇后时,更新visit数组,回溯时,也更新visi数组。2、用一个二维的visit数组存储皇后的攻击范围。原创 2025-05-12 22:50:27 · 225 阅读 · 0 评论 -
leetcode322(hard)—图论+回溯算法—重新安排行程
这题其实是经典构造的欧拉路径,题目已经明确说了,满足欧拉图的条件,因此我们用经典的hierholzer算法构造就好了还需要满足升序条件,那提前进行排序就行1、逆序排序,因为我们用pop,所以将最小的排在最后2、pop相当于删除一条有向边,保证了不重复走边3、构造欧拉路径的方式是回溯到当前层函数时,将当前层的from加入进路径,所以路径其实是反的4、最后记得逆序路径。原创 2025-05-12 19:07:38 · 198 阅读 · 0 评论 -
leetcode46\47回溯算法—全排列问题
对于排列问题,每层for循环都可以对整个nums数组做选择,但不能再选择已选择过的数(即一个数不能重复使用,但如果有多个相同数,是可以用上的)由此,舍去startindex,加入used数组,在每次选取的时候看看是否已经选过了由于used数组是多个递归函数共享的,所以要做回溯处理(back前后)原创 2025-05-12 15:54:39 · 217 阅读 · 0 评论 -
leetcode.78\90\491回溯算法—子集问题
子集问题就是收集所有节点,即收割的时候不需判断,直接收割。原创 2025-05-11 17:59:15 · 236 阅读 · 0 评论 -
leetcode.131/93回溯算法—分割
startindex为分割开始的下标(left)i为分割结束的下标 (right)这俩中间夹的,就是目前分割出来的字符串,拿去判断是否为回文如果是回文,更新startindex为i+1,递归继续分割后面的剩余部分,如果不是回文,continue,考查for循环的下一个i+1。原创 2025-04-17 20:52:17 · 267 阅读 · 0 评论 -
leetcode.77/216/17/39/40回溯算法—组合问题
参考自“代码随想录”原创 2025-04-17 19:05:42 · 1097 阅读 · 0 评论
分享