@@ -0,0 +1,892 @@
+public class Solution %7B%0A    public List%3CList%3CInteger%3E%3E combinationSum(int%5B%5D candidates, int target) %7B%0A        List%3CList%3CInteger%3E%3E results = new ArrayList%3C%3E ();%0A        List%3CInteger%3E cur = new ArrayList %3C%3E ();%0A        Arrays.sort(candidates);%0A        %0A        helper(candidates, 0, target, cur, results);%0A        return results;%0A    %7D%0A    %0A    private void helper(int %5B%5D candidates, int s, int target, List%3CInteger%3E cur, List%3CList%3CInteger%3E%3E results) %7B%0A        if (target == 0) %7B%0A            results.add(new ArrayList%3CInteger%3E (cur));%0A            return;%0A        %7D%0A        if (s %3E= candidates.length %7C%7C target %3C 0)%7B%0A            return;%0A        %7D%0A        %0A        for(int i=s; i%3Ccandidates.length && candidates%5Bs%5D %3C= target; i++) %7B%0A            cur.add(candidates%5Bi%5D);%0A            helper(candidates, i, target-candidates%5Bi%5D, cur, results);%0A            cur.remove(cur.size()-1);%0A        %7D%0A    %7D%0A%7D%0A

Create Combination_Sum.java