我这个代码超时,需要用动态规划会好一些
f(n)=S
f(n-1)+nums[n]==s
f(n-1)-nums[n]==s
然后反向推s
/**
* @param {number[]} nums
* @param {number} S
* @return {number}
*/
var findTargetSumWays = function(nums, S) {
count=0;
var search =function (nums1,nn){
if(nums1.length==0){
if(nn==S) {
count++;
}
return;
}
nums2=nums1.slice(0);
n1=nn+nums1[0];
nums2.splice(0,1);
search(nums2,n1);
nums2=nums1.slice(0);
nums2.splice(0,1);
n1=nn-nums1[0];
search(nums2,n1);
}
search(nums,0);
return count;
};