2
public int findTargetSumWays(int[] nums, int target) {5
for (int x : nums) sum += x;6
if (((sum - target) % 2 == 1) || (target > sum)) return 0;9
int s2 = (sum - target) / 2;10
int[][] t = new int[n + 1][s2 + 1];13
for (int i = 1; i < n + 1; i++) {14
for (int j = 0; j < s2 + 1; j++) {15
if (nums[i - 1] <= j) t[i][j] = t[i - 1][j] + t[i - 1][j - nums[i - 1]];16
else t[i][j] = t[i - 1][j];25
// if(((sum - target) % 2 != 0) || (target > sum))28
// int n = nums.length;29
// int s2 = (sum - target)/2;31
// int[][] t = new int[n + 1][s2 + 1];32
// for(int i = 0; i < n + 1; i++) {33
// for(int j = 0; j < s2 + 1; j++) {41
// for(int i = 1; i < n + 1; i++) {42
// for(int j = 1; j < s2 + 1; j++) {43
// if((nums[i - 1] > j) || (nums[i - 1] == 0))44
// t[i][j] = t[i - 1][j];46
// t[i][j] = t[i - 1][j] + t[i - 1][j - nums[i - 1]];55
// return (int)(Math.pow(2,count)) * t[n][s2];