![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
dfs回溯
自由幻梦师
越刷越爽,每天五道leetcode走起
展开
-
岛屿数量
这道题再leetcode从来没写过,不过这道题时经典中的经典,flood fill算法我们简单的写下就可以了class Solution {public: vector<vector<char>>g; int dx[4]={0,0,1,-1}; int dy[4]={1,-1,0,0}; int numIslands(vector<vector<char>>& grid) { g=gri..原创 2022-03-11 19:09:10 · 123 阅读 · 0 评论 -
回溯算法的去重
像总和组合1,2,3;子集1,2都用到了一个去重方法,(特例:只从当前数(因为组合总和1可以无数次使用当前数))当前数的后一个数开始选。防止123,132的重复,因为组合不是排序,不看组合内数字的顺序。而子集2,和总和组合2用到了第2个去重方法。为什么又第二个去重方法呢,因为这个所给数组里面都出现了重复的数字,当所给数组里出现重复数组的时候,就又涉及到了去重112,选两个数12,12这就要排序,用一个bool数组来把重复的节点去掉1.sort数组2.if(i&&num原创 2022-02-07 15:46:38 · 461 阅读 · 0 评论 -
组合总和2
这是组合总和里面最难的一道题了1.这题要满足两个条件,每个数只能选一次,和不能右重复的答案,每个数这只能选一次,这个再其他组合问题我们就遇见过,直接定义一个变量u,表示当前遍历到哪个数,每次我们只能往后遍历,这样即使数只能选一次,也防止了遍历但这道题防止重复答案不止这么一点,因为这个数组中有重复的数例子:给出数组 1,1,2 target=3选第一个1,和2,和选第二个1和2答案使重复的。这就表明我们同一数层之间不能有重复。我们可以定义一个bool数组来表示,同一树层..原创 2022-02-07 10:25:17 · 3665 阅读 · 0 评论 -
括号生成
这题是通过暴搜来做的。这种只包含小括号的题目有两个性质1.任意前缀中右括号的数量大于等于左括号的数量2.左括号数量等于右括号的数量这题简单,不用单独画递归搜索树我们可以考虑什么时候能填左括号,什么时候能填右括号1.左括号的条件:只要小于n便能填左括号2.右括号田间:小于n而且要小于左括号的数量,因为当右括号等于左括号的数量时,这是暴搜的右括号的数量就会大于左括号的数量与性质一不符步骤:1.确定答案数组2.递归求取答案3.递归函数:如果左括号等于右括号等..原创 2022-01-24 00:19:19 · 124 阅读 · 0 评论 -
电话号码的字符组合
这道题用递归便可以做出来,递归分为三部:1.画递归树2.到每个节点的限制条件3.跳出递归的条件4.回溯然后便可以开始递归class Solution {public: vector<string>res; string str[10]={ "","","abc","def", "ghi","jkl","mno", "pqrs","tuv","wxyz" }; vector<string> le..原创 2022-02-06 23:30:05 · 159 阅读 · 0 评论 -
子集
dfs的问题1.画递归树这里我们每次有两种选择,一种是选则当前树,一种是不选当前数2.到每个节点的限制条件没有3.跳出递归的条件,当选择的次数为n,n为所给数组的数的数量4.回溯。class Solution {public: vector<vector<int>>res; vector<int>path; vector<vector<int>> subsets(vector<int..原创 2022-02-02 22:34:05 · 378 阅读 · 0 评论 -
组合总和三
组合总和的问题都有一个问题,为了不选定重复的数,都要定义一个变量i,记录当前遍历到哪个数,防止答案重复,比如124,142是不是重复了。class Solution {public: vector<vector<int>>res; vector<int>ans; vector<vector<int>> combinationSum3(int k, int n) { dfs(k,n,0,1); ...原创 2022-02-06 19:07:24 · 77 阅读 · 0 评论 -
回溯法解决的问题
1.组合问题:N个数里面按一定规律找出k个数的集合2.切割问题:一个字符串按一定规律有几种切割方式3.子集问题:一个N个数的集合里有多少符合条件的子集4.排列问题:N个数按一定规则全排列,有几种排列方式5.棋盘问题:N皇后,解数独等等...原创 2022-02-06 19:05:06 · 1009 阅读 · 0 评论