class Solution {
public int findTargetSumWays(int[] nums, int target) {
int sum = 0;
for(int num : nums) sum += num;
int left = (target + sum) / 2;
if(target > sum) return 0;
if((target + sum) % 2 == 1) return 0;
int[] dp = new int[sum + 1];
dp[0] = 1;
for(int i = 1;i < nums.length + 1;i++){
int num = nums[i - 1];
for(int j = left;j >= num;j--){
dp[j] += dp[j - num];
}
}
return dp[left];
}
}
494. 目标和
最新推荐文章于 2024-10-09 22:28:58 发布