Day 64

第40题:

给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。

candidates 中的每个数字在每个组合中只能使用一次。来源:力扣(LeetCode)

说明:所有数字(包括目标数)都是正整数。解集不能包含重复的组合。 

 

1、对于这种题可以构想出一棵树,然后每一次选择数组内的一个数,进入到下一阶段,选择的数下次就不能选了;

  那么这样每次可以选择不同的数,这样就得到了一棵多叉的数;

  我们遍历整棵树,将符合的组合取出来即可。

  

第39题:

给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。

candidates 中的数字可以无限制重复被选取。来源:力扣(LeetCode)

说明:所有数字(包括 target)都是正整数。解集不能包含重复的组合。 

1、和上面那道题差不多,但是这里是无重复元素的数组和你可以使用多次数组内的元素,所以对上面代码做一些改动即可。

  

第216题:

找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字。来源:力扣(LeetCode)

说明:所有数字都是正整数。解集不能包含重复的组合。 

1、也是一道回溯的题目,把相应条件设置即可。

  

原文地址:https://www.cnblogs.com/liang-yi-/p/13649057.html