DFS专栏

37.解数独 Sudoku Solver

按照先行后列的顺序进行访问,当符合数独条件的时候才能向下递归,当发现符合条件的时候立即返回。

改变状态的时候,别忘记改回原来的状态。

39.Combinations Sum

这种求解所有符合条件的集合的时候通常使用dfs,新创建一个函数,函数的参数一般是给定的可选的数的候选集/目标/存放结果的容器/存放中间过程的容器/从哪一位开始选数(Combinations从当前位置后面选择位置这样的话不会出现重复,因为组合和顺序无关)。

40.Combinations Sum2

将数组排序,如果某个数第一次出现可以递归处理,囊括了后面相等的数会产生的组合,后面相等的数可以略过。

77.Combinations

从n个数中选k个数的组合,要求所有结果的集合使用dfs,因为组合和顺序无关,不能选择重复的所以必须按顺序从里面挑选,从前面的数后面来挑选。
216. Combination Sum III

CombinationSum+Combinations

如果和为0且个数为k则是结果。

46.Permutations

枚举的话使用dfs再好不过了,使用一个辅助数组记录是否已经访问过。

47. Permutations II

当有重复的数的时候,结果不重复,一定要对数组进行排序。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容