描述:

回收废品,每次选两个来切碎,分别是m和n且m<=n, 当m==n时 ,两个都切碎(即数组直接少了m和n),如果m<n,则m切碎,n=n-m ,切到最后 剩余一个废品则返回废品大小,若剩0个则返回0

这题就是力扣的最后一块石头的重量

示例:

输入:stones = [2,7,4,1,8,1]
输出:1
解释:
组合 2 和 4,得到 2,所以数组转化为 [2,7,1,8,1],
组合 7 和 8,得到 1,所以数组转化为 [2,1,1,1],
组合 2 和 1,得到 1,所以数组转化为 [1,1,1],
组合 1 和 1,得到 0,所以数组转化为 [1],这就是最优值

代码: 

class Solution {

public int lastStoneWeightII(int[] stones) {

int len=stones.length;

int sum=0;

for(int i=0;i<len;i++){

sum+=stones[i];

}

int targer=sum/2;

//dp[i]:容量为i时,放入物品的最大价值

int[] dp=new int[targer+1];

for(int i=0;i<len;i++){

for(int j=targer;j>=stones[i];j--){

dp[j]=Math.max(dp[j],dp[j-stones[i]]+stones[i]);

}

}

return sum-dp[targer]-dp[targer];

}

}

回收废品,每次选两个来切碎,分别是m和n且m<=n, 当m==n时 ,两个都切碎(即数组直接少了m和n),如果m<n,则m切碎,n=n-m ,切到最后 剩余一个废品则返回废品大小,若剩0个则返回0相关推荐

  1. 一种具有两个乘波体分弹头的弹道导弹

    一种具有两个乘波体分弹头的弹道导弹 技术领域 本实用新型涉及一种具有两个乘波体分弹头的弹道导弹,尤其是具有乘波体分弹头的弹道导弹. 背景技术 现有常规弹道导弹的分弹头都是圆锥体,一种具有两个乘波体分弹 ...

  2. java编写一个彩票开奖的模拟程序.游戏共有两种玩法,一种是21选5,即玩家输入5个1到21内的不重复的数。另外一种玩法是6+1玩法,即要求玩家输入7个整数,代表所购买的彩票号码,最后一个是特码。

    java编写一个彩票开奖的模拟程序.游戏共有两种玩法,一种是21选5,即玩家输入5个1到21内的不重复的数.另外一种玩法是6+1玩法,即要求玩家输入7个整数,代表所购买的彩票号码,最后一个是特码. 具 ...

  3. 两个半小时,一份Python基础试卷,满分100,却有80%的人都不及格

    两个半小时,一份Python基础试卷,满分100,却有80%的人都不及格 Python基础类型考试题 考试时间:90分钟 满分100(80分以上为及格) 如果不给你答案的话,你能及格? 1.件数变量命 ...

  4. 使用OpenGL,在窗口中绘制两个立体图形,位置分别为窗口的左侧和右侧,添加光照,两个图形分别绕x轴和y轴旋转。

    总体思路: 第一步,使用viewpoint函数来建立两个分割的窗口 第二步,在两个视口分别绘制带光照效果的立体图形 第三步,使用进栈出栈函数和Rotatef函数实现两图像各自的旋转 关于glPushM ...

  5. 现有三个表:学生表(学生id,姓名)、课程表(课程id,课程名)、学生选课表(学生id,课程id),请问要列出所有学生的选课情况(每个学生选了多少门课,分别是什么),请写出SQL语句

    要求:用一条sql查出每个学生选了多少门课程,分别是什么 一.先建三张表:分别是学生表students.课程表classes.学生选课表stuclass 二.先分别查出每个学生选了多少门课程和每个学生 ...

  6. pandas中使用rolling.corr函数计算两个时间序列数据列之间的滚动相关性(Rolling correlations)、例如,计算两种商品销售额之间的3个月的滚动相关性

    pandas中使用rolling.corr函数计算两个时间序列数据列之间的滚动相关性(Rolling correlations).例如,计算两种商品销售额之间的3个月的滚动相关性 目录

  7. excel中使用CORREL函数计算两个时间序列数据列之间的滚动相关性(Rolling correlations)、例如,计算两种商品销售额之间的3个月的滚动相关性

    excel中使用CORREL函数计算两个时间序列数据列之间的滚动相关性(Rolling correlations).例如,计算两种商品销售额之间的3个月的滚动相关性 目录

  8. R语言使用zoo包中的rollapply函数计算两个时间序列数据列之间的滚动相关性(Rolling correlations)、例如,计算两种商品销售额之间的3个月的滚动相关性

    R语言时间序列数据滚动相关性分析(Rolling correlations).R语言使用zoo包中的rollapply函数计算两个时间序列数据列之间的滚动相关性(Rolling correlation ...

  9. Algorithm:C+语言实现之数组相关算法(和为定值的两个数、和为定值的m个数、荷兰国旗、长度为2n的洗牌算法、任意长度数组的洗牌算法)

    Algorithm:C+语言实现之数组相关算法(和为定值的两个数.和为定值的m个数.荷兰国旗.长度为2n的洗牌算法.任意长度数组的洗牌算法) 目录 数组 1.寻找和为定值的两个数 2.和为定值的m个数 ...

最新文章

  1. 奇异值分解 SVD 的数学解释
  2. JGG:华中师大蒋兴鹏组-不同稀疏水平信号的微生物组关联检验方法
  3. HashMap 与 HashTable的区别
  4. python3.6安装教程-Python 3.6.6安装教程(附安装包) | 我爱分享网
  5. request.getRequestDispatcher()的两个方法forward()/include()!!!
  6. Activity之间的通信方式
  7. FFmpeg学习1:视频解码
  8. Spring Boot(2.1.2.RELEASE) + Spring Cloud (Finchley.RELEASE)搭建服务注册和发现组件Eureka
  9. Java命令学习系列
  10. 476. 数字的补数
  11. (14)H5新增表单属性
  12. $2a开头的是什么加密方式_为什么非对称加密比对称加密慢?
  13. nupkg格式_nupkg文件怎么打开(package程序安装)
  14. CDR案例:广告条幅banner设计
  15. 软件著作权申报时,使用Linux系统find命令如何统计项目行数
  16. idea 设置版权信息
  17. android手机log文件工具,手机文件日志app下载-手机文件日志 安卓版v1.0-PC6安卓网...
  18. 在Unreal引擎中利用实现实时动作捕捉
  19. 机器学习算法终极对比:树模型VS神经网络
  20. 滴滴夜莺02-自定义推送数据

热门文章

  1. 北斗导航 | 北斗导航定位授时群(PNT研究院)
  2. 微信编辑器文字格式如何设置?
  3. python网易云听歌时长_Python爬虫实战:爬取小姐姐最近的听歌曲目
  4. 微信小程序-局域网通信
  5. linux用户基本操作
  6. 连接 Oracle数据库 配置方法
  7. Java 小白 彩票中奖小程序
  8. 【JAVA程序设计】(C00024)javaEE学生选课管理系统
  9. java基础类库——java数据库编程,JDBC连接(原生数据库连接)(十)
  10. gophp解释器_[2020年面试题-PHP 与 golang] .Go 和 PHP 在运行的时候有什么区别和优势...