leetcode_1049. Last Stone Weight II_[DP]

leetcode_1049. Last Stone Weight II_[DP]

1049. Last Stone Weight II

https://leetcode.com/problems/last-stone-weight-ii/

 

题意:从一堆石头里任选两个石头s1,s2,若s1==s2,则两个石头都被销毁,否则加入s1<s2,剩下一块重量为s2-s1的石头。重复上面的操作,直至只剩一块石头,或没有石头。问最后剩下的石头的重量最小为多少(0表示没有剩余石头)。

解法:

每次选两块石头进行相减问最后一块石头重量最小为多少,可以看作是将所有石头分为两波,使两波石头的差值的绝对值最小。

使用背包(snapsack)解决。dp[i]表示stones是否能组成重量为i的group。

class Solution
{
public:
    int lastStoneWeightII(vector<int>& stones)
    {
        int sum = accumulate(stones.begin(),stones.end(),0);
        vector<bool> dp(sum/2,0);
        dp[0]=1;
        for(int s:stones)
            for(int j=sum/2;j>=s;j--)
                dp[j] = dp[j]|dp[j-s];
        int res = sum;
        for(int i=0;i<=sum/2;i++)
            res = min(res, sum-dp[i]*i*2);
        return res;
    }
};

 

转载于:https://www.cnblogs.com/jasonlixuetao/p/10890116.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100908.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • servlet中service 、doPost 、doGet的某种联系

    servlet中service 、doPost 、doGet的某种联系今天写Servlet类时,突然想到以前写的servlet里面有时候有service方法,有时候没有service,但是有doGet和doPost方法。首先,得解释下servlet类中service()的地位。最高层的接口Servlet(像HttpServlet等具体的Servlet都是直接或者间接实现了这个接口)里面就有这个方法,所以不管是怎样的servlet类,都有service方法。HttpS…

    2022年6月13日
    22
  • 马蜂窝裁php换java,php又又又凉凉了吗[通俗易懂]

    马蜂窝裁php换java,php又又又凉凉了吗

    2022年2月12日
    40
  • java random.nextint_java Random.nextInt()方法的具体使用

    java random.nextint_java Random.nextInt()方法的具体使用licintnextInt(intn)该方法的作用是生成一个随机的int值,该值介于[0,n)的区间,也就是0到n之间的随机int值,包含0而不包含n。直接上代码:packageorg.xiaowu.random.demo;importjava.util.Random;importorg.junit.Test;publicclassRandomDemo{@Testpublicv…

    2022年7月22日
    5
  • Java集合类详解

    Java集合类详解Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└WeakHashMapCollection接口  Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Element

    2022年4月27日
    40
  • 函数指针与block[通俗易懂]

    该文章同时发布在我的简书上author:OC中block的身影到处瞥见但不知道你是否和我一样开始动手时,发现摸不到它的脾气脑袋一空,眼睛圆溜的45°逆转构她的形,会她的意依旧不见其身想到大学…书上白净的指针一节或许怕被难住,竟连老师也放了你鸽子还好有我触摸你皮肤也变得干涸风也一直狠劲的吞并打圈的眼眶我保证,定不负年华不负你.拿起C语言书,认真查看了一…

    2022年4月13日
    33
  • 后盾人教程_最专业的后盾

    后盾人教程_最专业的后盾CSS3系列课程开课了,老铁快上车吧一引用CSS差别link标签:外部style标签:内联style属性:嵌入式注释:/**/结尾:分号,不能省略css导入其他css样式:@i

    2022年8月4日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号