什么是组合问题?
从N个数里面,选K个数,一共有多少种组合方式?
最基本的回溯,我们需要注意 1. 终止条件 2. for 循环横向 3. 回溯纵向 4. 剪枝
如果要将回溯的过程可视化的话,我会选择画一个树,
回溯的过程就是 dfs 这个树的过程。
继续拓展之、、、
选K个数,和为target?
回溯三件套+终止条件+排序剪枝
N个数中没有重复数字,可以使用不限次数,如何?
回溯三件套+回溯时(递归调用时)curIndex 不变+排序剪枝
N个数中有重复数字,每个限用一次,如何?
回溯三件套 + 去重 (※)+ 排序剪枝
回溯三件套
- 确定参数和返回值
- 确定终止条件
- 确定遍历过程
template 如下
标签:剪枝,组合,sum,个数,问题,candidates,回溯,curIndex From: https://www.cnblogs.com/jianchuxin/p/17801180.html