39. Combination Sum 2019-03-26

1.这一题也是回溯的问题,使用了递归的方式来实现回溯。

ps:leetcode上的题目尽量不要定义全局变量,不然就会向我今天一样。

    运行的时候是正确的,但是提交的时候就错误了。


class Solution {


    public List> combinationSum(int[] candidates, int target) {

        List> list=new ArrayList>();

        backTracking(list,candidates,target,new ArrayList(),0,0);

        return list;

    }

    public  void backTracking(List> list,int[] candidates,int target,ArrayList b,int sum,int count){

        if(sum==target){

            list.add(b);

        }else if(sum

            for(int i=count;i

                ArrayList c=new ArrayList(b);

                c.add(candidates[i]);

                backTracking(list,candidates,target,c,sum+candidates[i],i);

            }

        }

    }

}

你可能感兴趣的:(39. Combination Sum 2019-03-26)