美文网首页
494目标和 ——1049最后一块石头的重量(0-1背包问题)

494目标和 ——1049最后一块石头的重量(0-1背包问题)

作者: 棉花糖7 | 来源:发表于2021-06-11 08:46 被阅读0次

    这道题第一想法是用回溯,但是容易超时。

    第二种是转换为0-1背包问题

            //若负数的和为neg,则整数的和为sum-neg

            //按题目要求target = (sum-neg)-neg,转换为neg = (sum-tar)/2

            //dp[i][j]表示前i个元素,凑出和为j的方案数目

            //当i=0,j=0时方案数dp[0][0]=1,j>0时,dp[i][j]=0;

            //其余情况中,j<num时,dp[i][j]=dp[i-1][j];j>=num时,dp[i][j] = dp[i-1][j]+dp[i-1][j-num]

    还要注意一点就是,由于数组 nums中的元素都是非负整数,neg也必须是非负整数,所以上式成立的前提是 sum−target是非负偶数。若不符合该条件可直接返回 0。

    题目 回溯法
    动态规划 降维
    题目

    同样是转换为0-1背包问题,背包的容量是sum/2,越接近这个值,最后剩下的石头重量越低,是res = sum - 2*dp[len][mid]

    code

    相关文章

      网友评论

          本文标题:494目标和 ——1049最后一块石头的重量(0-1背包问题)

          本文链接:https://www.haomeiwen.com/subject/bccjeltx.html