@StefanPochmann

here is the brutal force one Accepted using summation.

```
public int findTargetSumWays(int[] nums, int S) {
if(nums == null || nums.length ==0) return 0;
return helper(nums, 0, 0, S);
}
private int helper(int[] nums, int start, int sum, int target) {
if(start == nums.length){
return sum == target? 1: 0;
}
int ways = helper(nums, start + 1, sum - nums[start], target) + helper(nums, start + 1, sum + nums[start], target);
return ways;
}
```

Here is my old one using deduction which works most of time but fails this test case.

```
public int findTargetSumWays(int[] nums, int S) {
if(nums == null || nums.length ==0) return 0;
return helper(nums, 0, S);
}
private int helper(int[] nums, int start, int target) {
if(start == nums.length) return 0;
if (start == nums.length - 1 && nums[start] == Math.abs(target))
return 1;
return helper(nums, start + 1, target - nums[start]) + helper(nums, start + 1, target + nums[start]);
}
```