【DP】添加n个数+-,统计和为S的方案数【494. Target Sum】

来源:互联网 发布:淘宝家装干线物流模板 编辑:程序博客网 时间:2024/06/06 03:38

题目链接:https://leetcode.com/problems/target-sum/#/description

class Solution {public:    int findTargetSumWays(vector<int>& nums, int S) {        int dp[2001]={0};        dp[1000+nums[0]]=1;        dp[1000-nums[0]]=1;        if(nums[0]==0) dp[1000-nums[0]]=2;        int len=nums.size();        for(int i=1;i<len;i++){            int tmp[2001]={0};            for(int j=-1000;j<=1000;j++){                if(j+1000+nums[i]<=2000) tmp[j+1000]+=dp[j+1000+nums[i]];                if(j+1000-nums[i]>=0) tmp[j+1000]+=dp[j+1000-nums[i]];            }            for(int j=0;j<=2000;j++) dp[j]=tmp[j];        }        return S<=1000?dp[S+1000]:0;    }};


阅读全文
0 0
原创粉丝点击