K数和II——lintcode90


K数和II

题目:K数和II

给定n个不同的正整数,整数k1<=k<=n)以及一个目标数字。
在这n个数里面找出K个数,使得这K个数的和等于目标数字,你需要找出所有满足要求的方案

样例 :

输入:

数组 = [1,2,3,4]
k = 2
target = 5

输出:

[[1,4],[2,3]]

题解:回溯法

public class Solution {
    private List> results;
    public void dfs(int[] nums, int start, int k, int sum, int target, List result) {
        if(result.size()==k) {
            if(sum==target) results.add(new ArrayList<>(result));
            return;
        }
        for(int i=start;i> kSumII(int[] A, int k, int target) {
        results=new ArrayList<>();
        if(A==null || A.length==0) return results;
        dfs(A, 0, k, 0, target,new ArrayList<>());

        return results;
    }
}