LeetCode之回溯法
46 全排列
可以往回回溯,即1-2-3,然后1-3-2
所以要用visited[],不需要start
1 | dfs(...) { |
78 子集
不能往回回溯,1-2-3和1-3-2是同样的子集,没有1-3-2
不需要用visited[],用start变量,dfs(…, start)控制位置,保证后面的元素肯定在前面的元素后面
1 | dfs(..., int start) { |
39 组合总和
与78类似,不同的地方是后面的元素可以是前面的元素,即元素可以重复,唯一区别如下
1 | dfs(..., int start) { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 夏至未至!
评论