956. 最高的广告牌

你正在安装一个广告牌,并希望它高度最大。这块广告牌将有两个钢制支架,两边各一个。每个钢支架的高度必须相等。

你有一堆可以焊接在一起的钢筋 rods。举个例子,如果钢筋的长度为 1、2 和 3,则可以将它们焊接在一起形成长度为 6 的支架。

返回广告牌的最大可能安装高度。如果没法安装广告牌,请返回 0。

示例 1:

输入:[1,2,3,6]
输出:6
解释:我们有两个不相交的子集 {1,2,3} 和 {6},它们具有相同的和 sum = 6。
示例 2:

输入:[1,2,3,4,5,6]
输出:10
解释:我们有两个不相交的子集 {2,3,5} 和 {4,6},它们具有相同的和 sum = 10。
示例 3:

输入:[1,2]
输出:0
解释:没法安装广告牌,所以返回 0。

提示:

0 <= rods.length <= 20
1 <= rods[i] <= 1000
钢筋的长度总和最多为 5000

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/tallest-billboard
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

  • 思路:可用动态规划,定义一个二维数组num[i][j]表示前i个钢筋使得两个广告牌支架高度差为j的最大和,从而求得最终结果num[n][0]/2。
class Solution {public int tallestBillboard(int[] rods) {int sum = 0;int n = rods.length;for(int i = 0;i < n;i++)sum += rods[i];int[][] num = new int[n+1][2*sum+1];    for(int i = 1;i <= n;i++)for(int j = 0;j <= sum;j++) {if(num[i-1][j] < j)continue;int val = j + rods[i-1];num[i][val] = Math.max(num[i][val], Math.max(num[i-1][val], num[i-1][j] + rods[i-1]));val = Math.abs(j-rods[i-1]);num[i][val] = Math.max(num[i][val], Math.max(num[i-1][val], num[i-1][j] + rods[i-1]));num[i][j] = Math.max(num[i][j], num[i-1][j]);}return num[n][0] / 2;}
}

956. 最高的广告牌相关推荐

  1. LeetCode 956. 最高的广告牌(DP)

    文章目录 1. 题目 2. 解题 1. 题目 你正在安装一个广告牌,并希望它高度最大. 这块广告牌将有两个钢制支架,两边各一个.每个钢支架的高度必须相等. 你有一堆可以焊接在一起的钢筋 rods. 举 ...

  2. 如何学好C语言--你的学渣朋友告诉你

    光说不练假把式,光练不说傻把式,又练又说真把式. 真实感受,不是我不想学,是我真的不知道我哪里不会啊和得怎么做啊?本文作者当初就是这么废掉的 推荐两个练习的网站 (一)C语言网 https://www ...

  3. 全新的互动广告牌,待遇男女有别

    也许你以前在科幻电影里看到过这样的场景:人们路过一系列广告牌,广告上的影像会根据不同的人显示不同的内容. 其实这已经不再是科幻里才有的事情了. Plan UK是一个慈善机构,最近他们在伦敦一个公交站就 ...

  4. cesium广告牌_公路广告牌

    cesium广告牌 Description: 描述: This is a standard dynamic programing problem of finding maximum profits ...

  5. 动感灯箱制作流程培训_从事广告行业20年老师傅,揭秘广告牌类型和制作工艺流程 !...

    放眼望去,目前市场上的广告类型多又多.那么广告牌到底有哪些类型?其制作工艺又是怎样的呢? 1 广告牌的类型 一.地铁广告 在地铁范围内设置的各种广告统称地铁广告.其形式有十二封灯箱.四封通道海报.特殊 ...

  6. 秒杀奥斯卡的“第四块广告牌”就在你身边!

    作为年度爆款影片,<三块广告牌>一定刷屏了你的社交网络.可你是否知道打破人们想象的"第四块广告牌"正悄然改变着你的生活?让英特尔带你一起探索这块神奇广告牌的奥秘吧! 作 ...

  7. Unity Shader: Shader粒子广告牌

    广告牌效果既是不论物体与摄像机的角度,被渲染物体总是正对着摄像机. 此技术广泛利用于粒子效果中,例如Unity内置的Particle System.下文将要介绍如何在Shader中实现广告牌效果. 在 ...

  8. led显示屏背景墙设计_西安盛泉广告设计制作||发光字标识,门头广告牌,灯箱,LED显示屏...

    挖掘机学校哪家强,中国山东找蓝翔 大观园市场谁牛逼,标识标牌找盛泉 我虽然话不是很多,但我很有实力 不信? 让你死心踏地!!!上图片 发光字标识.门头广告牌.灯箱.LED显示屏.亮化工程.水晶字.PV ...

  9. Python:tkinter简易广告牌

    使用tkinter制作的简易广告牌,V1.0: 2020.07.19 功能:在窗口滚动显示广告. import tkinter as tk global advertise advertise = ' ...

最新文章

  1. 牛客练习赛40 A.小D的剧场
  2. ubuntu mysql deb_Ubuntu 通过Deb 安装 MySQL 5.5 [转载]
  3. SpringBoot中使用AOP打印接口日志的方法(转载)
  4. 2018-06-13(日常运维三)
  5. OpenCV Cut Image via ROI 根据兴趣区域剪裁图片
  6. python可变序列_python序列中可变数据类型有什么
  7. div模拟select/option解决兼容性问题及增加可拓展性
  8. python 文件读取报错 ‘utf-8‘ codec can‘t decode
  9. 什么90%的人,自学python都不能学会,原来问题出在这,赶紧看看!
  10. sqlsever无法重新启动计算机,SQLServer 2008安装提示需要重启计算机,但是重启还是不通过解决方案...
  11. The peopleware papers
  12. js中实现cookie的增删改查(document.cookie的使用详情)
  13. Ising模型(伊辛模型)
  14. 输入数学函数c语言,C语言基本输入输出及数学函数.ppt
  15. 如何自学C语言(一个菜鸟的学习路)
  16. pr中如何自定义序列尺寸
  17. 超实用的doc 转 docx
  18. 性别检测识别、年龄检测识别
  19. win10管理员权限怎么获得_实用技巧:如何在win10中安装没有管理员权限的软件...
  20. linux 符号所在库,linux – 即使nm表示该符号存在于共享库中时,也未引用符号

热门文章

  1. 用hibernate类实现数据库的基本操作
  2. JavaSE基础chapter1Homework
  3. OJ1021: 三个整数的最大值
  4. java json返回null_java-JSON jsonObject.optString()返回字符串“ null”
  5. 信息学奥赛一本通 2055:【例3.5】收费
  6. 数列极差(信息学奥赛一本通-T1427)
  7. 动态规划 —— 线性 DP —— 最大和问题
  8. Find the safest road(HDU-1596)
  9. 字符串的展开(洛谷-P1098)
  10. 字符串逆序(信息学奥赛一本通-T1162)