最基本的是使用递归法进行递归,但时间并不理想,先跳过, 等完成了动态规范的复习再做一遍。
int count = 0;
public int findTargetSumWays(int[] nums, int S) {
caculate(nums, -1, 0, S);
return count;
}
public void caculate(int[] nums, int i, int sum, int S){
if(i == nums.length-1){
if(sum == S){
count++;
}
}else {
caculate(nums, i+1, sum + nums[i+1], S);
caculate(nums, i+1, sum - nums[i+1], S);
}
}