494. 目标和

494. 目标和


题目链接:494. 目标和

代码如下:

cpp 复制代码
class Solution {
public:
    int findTargetSumWays(vector<int>& nums, int target) 
    {
        int sum=0;
        for(int i=0;i<nums.size();i++)  sum+=nums[i];
        if((target+sum)%2==1) return 0;
        if(abs(target)>sum) return 0;
        int bagSize=(target+sum)/2;
        vector<int> dp(bagSize+1,0);//dp[j] 表示:填满j(包括j)这么大容积的包,有dp[j]种方法
        dp[0]=1;
        for(int i=0;i<nums.size();i++)
        {
            for(int j=bagSize;j>=nums[i];j--)
                dp[j]+=dp[j-nums[i]];
        }
        return dp[bagSize];
    }
};
相关推荐
感哥30 分钟前
C++ 内存管理
c++
博笙困了7 小时前
AcWing学习——双指针算法
c++·算法
感哥7 小时前
C++ 指针和引用
c++
感哥18 小时前
C++ 多态
c++
沐怡旸1 天前
【底层机制】std::string 解决的痛点?是什么?怎么实现的?怎么正确用?
c++·面试
River4161 天前
Javer 学 c++(十三):引用篇
c++·后端
感哥1 天前
C++ std::set
c++
侃侃_天下1 天前
最终的信号类
开发语言·c++·算法
博笙困了1 天前
AcWing学习——差分
c++·算法
青草地溪水旁1 天前
设计模式(C++)详解—抽象工厂模式 (Abstract Factory)(2)
c++·设计模式·抽象工厂模式