华为OD机试-云短信平台优惠活动-完全背包(JAVA 2024E卷)


java 复制代码
public class My {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        int maxNum = Integer.parseInt(str);
        String line = sc.nextLine();
        String[] strings = line.split(" ");
        int n = strings.length;

        //要考虑到物品0的情况,物品0的重量和价值都是0
        int[] values = new int[n + 1];
        for (int i = 1; i <= n; i++) {
            values[i] = Integer.parseInt(strings[i - 1]);
        }

        int[] wight = new int[n + 1];
        for (int i = 0; i < wight.length; i++) {
            wight[i] = i;
        }

        int[][] dp = new int[n + 1][maxNum + 1];
        for (int i = 1; i <= n; i++) {//物品数量
            for (int j = 1; j <= maxNum; j++) {//重量
                if (j < wight[i]) {//当前物品重量大于当前背包重量,不放入物品
                    dp[i][j] = dp[i - 1][j];
                }else {
                    dp[i][j] = Math.max(dp[i - 1][j], dp[i][j - wight[i]] + values[i]);
                }
            }
        }
        System.out.println(dp[n][maxNum]);

    }

}
相关推荐
礼拜天没时间.3 分钟前
Tomcat 企业级运维实战系列(一):核心概念与基础部署
java·运维·centos·tomcat
当归10245 分钟前
Ruoyi项目MyBatis升级MyBatis-Plus指南
java·tomcat·mybatis
九转苍翎25 分钟前
Java内功修炼(3)——并发的四重境界:单例之固、生产消费之衡、定时之准、池化之效
java·设计模式·thread
~央千澈~42 分钟前
Objective-C 的坚毅与传承:在Swift时代下的不可替代性优雅草卓伊凡
开发语言·ios·objective-c
手握风云-1 小时前
JavaEE 进阶第一期:开启前端入门之旅(上)
java·前端·java-ee
一只鱼^_1 小时前
365. 水壶问题(详解)
java·javascript·c++·leetcode·线性回归
趙卋傑2 小时前
Spring原理
java·后端·spring
v_cxsj8132 小时前
基于大数据的京东手机销售数据 可视化分析设计与开发03446原创的定制程序,java、PHP、python、C#小程序、文案全套、毕设程序定制、成品等
java·大数据·智能手机