c盘清理的步骤是什么(如何清理C盘空间)
如何清理C盘空间怎么清理C盘的垃圾文件?每天上网会给电脑带来很多临时文件,这些垃圾文件不清理掉时间久了就会影响到电脑的运行速度。那怎
2022/12/08
1.简述:
有重量分别为 3,5,7 公斤的三种货物,和一个载重量为 X 公斤的箱子(不考虑体积等其它因素,只计算重量)
需要向箱子内装满X公斤的货物,要求使用的货物个数尽可能少(三种货物数量无限)
(相关资料图)
数据范围:
输入箱子载重量(一个整数)。
如果无法装满,输出 -1。如果可以装满,输出使用货物的总个数。
输入:
4
输出:
-1
说明:
无法装满
输入:
8
输出:
2
说明:
使用1个5公斤,1个3公斤货物
2.代码实现:
import java.util.*;public class Main{ public static void main(String[] args){ Scanner sc=new Scanner(System.in); int n=sc.nextInt(); int[][] dp=new int[n+1][4]; int[] nums=new int[]{3,5,7}; for(int i=0;i<=n;i++) dp[i][0]=Integer.MAX_VALUE; //dp[n][3]=; for(int i=1;i<=n;i++){ for(int j=1;j<=3;j++){ if(i-nums[j-1]<0) dp[i][j]=dp[i][j-1]; else{ if(dp[i-nums[j-1]][j]==Integer.MAX_VALUE) dp[i-nums[j-1]][j]=Integer.MAX_VALUE-1; dp[i][j]=Math.min(dp[i][j-1],dp[i-nums[j-1]][j]+1); } } } System.out.println(dp[n][3]==Integer.MAX_VALUE?-1:dp[n][3]); }}