思路:回溯法,可进可退,多次寻找合适的值。需要输出多个解,每个解由一个动态数组构成。从第一个值开始,先将一个数组的值压入一个数组,同时将目标值减少进入数组的这个值,继续条用,停止条件是当此时的进入目标值=0,此时就将整个数组压入结果得二维数组中去,循环调用的停止条件是当candidates【i】得这个数不是最后一个(因为判断目标为0了没有的那个数在下一次循环之前)可以先判断减去这个之后是否为0。总结:回溯法,适合于动态进退,回(体现在还是会将上一个数弹出,用另一个数组来保存结果)!!!调用本函数多次,每一次都有条件判断,不适合爬楼梯那题class Solution {
public:
vector<vector<int>> combinationSum(vector<int>& candidates, int target)
{
sort(candidates.