class Solution {
int answer = 0;
public int solution(int[] numbers, int target) {
int answer = recur(numbers, 0, target, 0);
return answer;
}
public int recur(int[] numbers, int index, int target, int sum){
if(index == numbers.length){
if(sum == target){
return 1;
}
return 0;
}
int ans=0;
ans += recur(numbers, index+1, target, sum+numbers[index]);
ans += recur(numbers, index+1, target, sum-numbers[index]);
return ans;
}
}
class Solution {
int answer = 0;
public int solution(int[] numbers, int target) {
fn(numbers, target, 0, 0);
return answer;
}
public void fn(int[] numbers, int target, int depth, int sum){
if(depth == numbers.length){
if(sum == target){
answer++;
}
return;
}
fn(numbers, target, depth+1, sum + numbers[depth]);
fn(numbers, target, depth+1, sum - numbers[depth]);
}
}