题目描述:

最少数量货物装箱问题_牛客网

有重量分别为3,5,7公斤的三种货物,和一个载重量为X公斤的箱子(不考虑体积等其它因素,只计算重量)

需要向箱子内装满X公斤的货物,要求使用的货物个数尽可能少(三种货物数量无限)

输入描述:

输入箱子载重量X(1 <= X <= 10000),一个整数。

输出描述:

如果无法装满,输出 -1。

如果可以装满,输出使用货物的总个数。

输入示例1:

4

输出示例1:

-1

说明:

无法装满

示例2

输入示例2:

8

输出示例2::

2

说明:

使用1个5公斤,1个3公斤货物

题目分析:

这道题呢,显然是用动态规划的啦。初始状态为:

dp[0]=0;

dp[3]=1;

dp[5]=1;

dp[6]=2;

dp[7]=1;

状态转移方程为:

dp[i]=min(dp[i-7],dp[i-5],dp[i-3])+1;

具体代码如下~

代码实现:

import java.util.Scanner;

import java.util.Arrays;

import java.lang.Math;

public class Main{

public static void main(String[] args){

Scanner sc=new Scanner(System.in);

int x=sc.nextInt();

int[] dp=new int[10001];

Arrays.fill(dp,Integer.MAX_VALUE);

dp[0]=0;

dp[3]=1;

dp[5]=1;

dp[6]=2;

dp[7]=1;

for(int i=8;i<=x;i++){

if(Integer.MAX_VALUE==dp[i-7]&&Integer.MAX_VALUE==dp[i-5]&&Integer.MAX_VALUE==dp[i-3])

dp[i]=Integer.MAX_VALUE;

else

dp[i]=min(dp[i-7],dp[i-5],dp[i-3])+1;

}

if(Integer.MAX_VALUE==dp[x])

System.out.print(-1);

else

System.out.print(dp[x]);

return;

}

public static int min(int a,int b,int c){

return Math.min(Math.min(a,b),c);

}

}

java动态规划装箱问题,最少数量货物装箱问题相关推荐

  1. 快手校招真题-最少数量货物装箱问题(动态规划)

    时间限制:1秒 空间限制:32768K 热度指数:923 本题知识点: Java工程师 C++工程师 快手 动态规划 贪心 算法知识视频讲解 校招时部分企业笔试将禁止编程题跳出页面,为提前适应,练习时 ...

  2. 快手校招面试题 最少数量货物装箱问题

    题目 链接:https://www.nowcoder.com/questionTerminal/37aa8a88a72e47f798a14d63bee61d8f?toCommentId=3433244 ...

  3. 用最少数量的箭引爆气球(Java)

    452. 用最少数量的箭引爆气球 有一些球形气球贴在一堵用 XY 平面表示的墙面上.墙面上的气球记录在整数数组 points ,其中points[i] = [xstart, xend] 表示水平直径在 ...

  4. Java实现 LeetCode 452 用最少数量的箭引爆气球

    452. 用最少数量的箭引爆气球 在二维空间中有许多球形的气球.对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标.由于它是水平的,所以y坐标并不重要,因此只要知道开始和结束的x坐标就足够 ...

  5. Leetcode 452 题 用最少数量的箭引爆气球

    题目描述 在二维空间中有许多球形的气球.对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标.由于它是水平的,所以纵坐标并不重要,因此只要知道开始和结束的横坐标就足够了.开始坐标总是小于结束 ...

  6. 贪心法—LeetCode 452 用最少数量的箭引爆气球

    用最少数量的箭引爆气球 题目: 在二维空间中有许多球形的气球.对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标.由于它是水平的,所以y坐标并不重要,因此只要知道开始和结束的x坐标就足够了 ...

  7. c语言贪心算法合并箭,贪心算法:用最少数量的箭引爆气球

    ❝ 通知:一些录友表示经常看不到每天上午的文章,现在公众号已经不按照发送时间推荐了,而是根据一些规则乱序推送,所以可能关注了「代码随想录」也一直看不到文章,建议把「代码随想录」设置星标哈,设置星标之后 ...

  8. Suzy想吃烤蛋挞了Day35 | 贪心算法进行时:860. 柠檬水找零,406. 根据身高重建队列,452. 用最少数量的箭引爆气球

    860. 柠檬水找零 solution 不要漏掉的一种情况是:如果收到了20,可以找10+5,或者5+5+5 class Solution:def lemonadeChange(self, bills ...

  9. 2021.05.20最少数量的箭引爆气球

    2021.05.20最少数量的箭引爆气球 题目描述 在二维空间中有许多球形的气球.对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标.由于它是水平的,所以纵坐标并不重要,因此只要知道开始和 ...

最新文章

  1. ICLR 2020 | 如何解决图像分类中的类别不均衡问题?不妨试试分开学习表征和分类器...
  2. Android UI学习 - Linear Layout, RelativeLayout
  3. html底部沉底显示,Footer部分永远沉底。
  4. Android之Google推荐的图片加载库Glide介绍
  5. PHP环境搭配(二):lamp(linux+apache+mysql+php)搭建,附moodle与onlinejudge配置
  6. C语言丨线性表(二):线性链表(单链表)
  7. golang mysql单例模式_Golang设计模式——单例模式
  8. c语言创建若干个成绩栏目,2015年计算机二级《C语言》考试上机测试题(6)
  9. FISCO BCOS Solidity 智能合约 批量插入新增数据
  10. Using TFS2010 Build 提示:Silverlight 4 SDK is not installed解决方法
  11. 雨滴式的显示图片 (cloud 转贴) (转)
  12. 学校固定资产计算机台账,(一)固定资产台账.doc
  13. Spring Cloud Bus-用法和意义
  14. Linux使用Aria2命令下载BT种子/磁力/直链文件
  15. OMV搭建系列教程[6] – 安装AriaNG Web前端
  16. 思科下一代模拟器EVE-NG镜像导入
  17. 福禄克DTX-1800其配件DTX-CHA002通道适配器CHANNEL更换RJ45插座小记
  18. [转](9)跨段跳转,短调用和长调用堆栈图
  19. 国际图书分类号查询--国际十…
  20. unity3d游戏开发之 游戏贴图、模型基本规范(QA)

热门文章

  1. 碳通宝依托低碳时代主题,助力用户年化获益上千万
  2. gradle迁移到gradle.kts(复制可用)
  3. 菜鸟学SSH——Spring容器AOP的实现原理——动态代理
  4. 7-4 功夫传人 (25 分)
  5. 2012年国产空间信息软件测评结果
  6. i7--cpu温度过高解决方法
  7. 希望语文老师快点好起来
  8. 虚拟机和主机无法连接
  9. 武汉赛思软件公司 Java实习岗面经
  10. 虚拟服务器 备份 还原 主服务器,西部数码虚拟主机恢复备份功能介绍