背包基础知识:确定背包容量,取物品方式,求最大价值
416. 分割等和子集
为了得到目标子集,我们可以理解为只要得到一个价值为和一半的背包即为符合条件
背包容量为元素和的一半
此处是01背包问题
为了方便遍历,先将数组排序
遍历公式:
for i in range(n):
for j in range(m, nums[i] - 1, -1):
dp[j] = max(dp[j], dp[j - nums[i]] + nums[i])