public static void kSum(List<Integer> numbers, int target) {
int len = numbers.size();
for (int i = 0; i < len; i++) {
if (numbers.get(i) < target) {
kSum(numbers, i, target - numbers.get(i));
}
}
}
public static void kSum(List<Integer> numbers, int start, int target) {
int sum = 0;
for (int j = start + 1; j < numbers.size(); j++) {
if (sum + numbers.get(j) == target) {
count++;
} else if (sum + numbers.get(j) < target) {
sum += numbers.get(j);
kSum(numbers, j, target);
}
}
}