第40题:
给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。
candidates 中的每个数字在每个组合中只能使用一次。来源:力扣(LeetCode)
说明:所有数字(包括目标数)都是正整数。解集不能包含重复的组合。
1、对于这种题可以构想出一棵树,然后每一次选择数组内的一个数,进入到下一阶段,选择的数下次就不能选了;
那么这样每次可以选择不同的数,这样就得到了一棵多叉的数;
我们遍历整棵树,将符合的组合取出来即可。
第39题:
给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。
candidates 中的数字可以无限制重复被选取。来源:力扣(LeetCode)
说明:所有数字(包括 target)都是正整数。解集不能包含重复的组合。
1、和上面那道题差不多,但是这里是无重复元素的数组和你可以使用多次数组内的元素,所以对上面代码做一些改动即可。
第216题:
找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字。来源:力扣(LeetCode)
说明:所有数字都是正整数。解集不能包含重复的组合。
1、也是一道回溯的题目,把相应条件设置即可。