当前位置:   article > 正文

leetcode:494.目标和

leetcode:494.目标和

解题思路:1.因为每个数字都有正负两种选择,所以可以采用回溯算法。(会超时)

2.分成两个集合,分别为正数集合(left)和负数(right)集合。

left + right = Sum ---> right = Sum - left

left - right = target

联立得到:

left = (target + Sum) /  2

如果不能整除,则凑不出target

dp数组含义:装满容量为j的背包的方法

递推公式:d[j] = d[j] + d[j-numbers[i]](放i和不放i)

初始化:dp[0] = 1(装满容量为0的背包有1种方法),其余非0下标初始化为0

代码实现:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/122897
推荐阅读
相关标签
  

闽ICP备14008679号