Lintcode - k sum II
2015-02-09 14:42
281 查看
Given n unique integers, number k (1<=k<=n) and target. Find all possible k integers where their sum is target.
Example
Given [1,2,3,4], k=2, target=5, [1,4] and [2,3] are possible solutions.
Example
Given [1,2,3,4], k=2, target=5, [1,4] and [2,3] are possible solutions.
public ArrayList<ArrayList<Integer>> kSumII(int A[], int k, int target) { ArrayList<ArrayList<Integer>> result = new ArrayList<ArrayList<Integer>>(); helper(result, new ArrayList<Integer>(), A, k, target, 0, 0); return result; } void helper(ArrayList<ArrayList<Integer>> result, ArrayList<Integer> preResult, int A[], int k, int target, int count, int start) { if (count == k && target == 0) { result.add(preResult); return; } if (count >= k || target < 0) { return; } for (int i = start; i < A.length; i++) { if (target - A[i] >= 0) { ArrayList<Integer> newResult = new ArrayList<Integer>(preResult); newResult.add(A[i]); helper(result, newResult, A, k, target-A[i], count+1, i+1); } else { break; } } }
相关文章推荐
- *[Lintcode]k Sum II
- [Lintcode] Combination Sum II
- Lintcode: Interval Sum II
- [Lintcode]Interval Sum II区间求和 II
- LintCode_207 interval-sum-ii
- [lintcode] Binary Tree Maximum Path Sum II
- [lintcode] Binary Tree Maximum Path Sum II
- [LintCode] Continuous Subarray Sum II
- [LintCode]k Sum II
- [LintCode]k Sum II
- [LintCode] Continuous Subarray Sum II
- Leet Code 40 - Combination Sum II - 组合和 - Java
- 39,40,216 Combination Sum I II III
- LeetCode 113. Path Sum II
- Leetcode:Combination Sum与Combination Sum II
- LeetCode | Combination Sum II
- Combination Sum II
- lintcode-115-不同的路径 II
- LeetCode:113 Path Sum II
- LintCode-合并排序数组 II