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];
    }
};
相关推荐
不知名的老吴5 分钟前
编程初体验之句柄的概念及使用示例
c++
木子墨5169 分钟前
LeetCode 热题 100 精讲 | 矩阵与图论进阶篇:矩阵置零 · 螺旋矩阵 · 旋转图像 · 搜索二维矩阵 II · 岛屿数量 · 腐烂的橘子
c++·算法·leetcode·矩阵·力扣·图论
stolentime11 分钟前
线段树套?——洛谷P7312 [COCI 2018/2019 #2] Sunčanje题解
c++·算法·图论·洛谷
EverestVIP20 分钟前
c++ 的terminate()函数
c++
大肥羊学校懒羊羊27 分钟前
特殊乘法的计算
数据结构·c++·算法
cpp_250133 分钟前
P2430 严酷的训练
数据结构·c++·算法·动态规划·洛谷·背包dp
tankeven40 分钟前
动态规划专题(06):树形动态规划(未完待续)
c++·算法·动态规划
满天星830357741 分钟前
【Linux/多路复用】poll和epoll的使用
linux·服务器·c++·后端
waves浪游1 小时前
进程间通信(上)
linux·运维·服务器·开发语言·c++
6Hzlia1 小时前
【Hot 100 刷题计划】 LeetCode 102. 二叉树的层序遍历 | C++ 极简 DFS 巧解
c++·leetcode·深度优先