典型动态规划题目,一刷时间分布如下:485 ms 解决问题
public class Solution {
public int findTargetSumWays(int[] nums, int S) {
int len = nums.length;
int ways = countWays(nums,0,S);
return ways;
}
public int countWays(int[] nums, int i, int S) {
// TODO Auto-generated method stub
// out
if(i==nums.length-1) {
if(nums[i]==0&&S==0) return 2;
if(nums[i]==S||nums[i]==-S){
return 1;
}else{
return 0;
}
}
// dynamic programming
int ways = countWays(nums,i+1,S-nums[i]) + countWays(nums,i+1,S+nums[i]);
return ways;
}
}