![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划
文章平均质量分 58
1
qq_43116644
这个作者很懒,什么都没留下…
展开
-
2021-07-25
出处:LeetCode494题目:给定一个非负整数数组,a1, a2, ..., an, 和一个目标数,S。现在你有两个符号+和-。对于数组中的任意一个整数,你都可以从+或-中选择一个符号添加在前面。返回可以使最终数组和为目标数 S 的所有添加符号的方法数。示例:输入:nums: [1, 1, 1, 1, 1], S: 3输出:5 一共有5种方法让最终目标和为3。思路:设正数元素和为x,那么负数元素和为sum-x。x-(sum-x)=S,那么x=(S+sum)/2。问题...原创 2021-07-25 17:52:16 · 61 阅读 · 0 评论 -
7.25 01背包(最大容量类型)
动态规划解题步骤1.明确dp数组下标和内容含义2.确定递推公式3.数组初始化4.确定地推顺序5.验证地推公式01背包递推公式:dp[j] = max(dp[j], dp[j - weight[i]] + value[i]);j代表容量为j的背包最多可以放价值为dp[j]的物品。当i的重量超过j容量时,dp[j]的价值和dp[j-1]相同。当i的重量小于j的容量时,dp[j]的最大价值等于j-i的的容量+物品i的价值。初始化:dp[0]初始化为0,因为容量为0原创 2021-07-25 17:11:39 · 183 阅读 · 0 评论