01背包问题 java完整输入输出代码

简介: 01背包问题 java完整输入输出代码

背包问题总结

1. 01背包问题

image.png

输入样例

4 5
1 2
2 4
3 4
4 5

输出样例:

8

分析过程:

image.png

完整的Java代码如下:

import java.io.*;
import java.util.*;
public class Main {
    private static int n;
    private static int m;
    private static int[] v = new int[1010];
    private static int[] w = new int[1010];
    private static int[] f = new int[1010];
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(System.out));
        String[] num = reader.readLine().split(" ");
        int n = Integer.parseInt(num[0]);
        int m = Integer.parseInt(num[1]);
        for (int i = 1; i <= n; i++) {
            String[] arr = reader.readLine().split(" ");
            v[i] = Integer.parseInt(arr[0]);
            w[i] = Integer.parseInt(arr[1]);
        }
        for (int i = 1; i <= n; i++) {
            for (int j = m; j >= v[i]; j--) {
                f[j] = Math.max(f[j],f[j - v[i]] + w[i]);
            }
        }
        writer.write(f[m] + "\n");
        writer.flush();
        writer.close();
        reader.close();
    }
}


相关文章
|
2天前
|
安全 Java API
Java中的函数式编程:简化代码,提升效率
【6月更文挑战第25天】本文将深入探讨Java中函数式编程的概念、原理及其应用。我们将通过具体示例和代码片段来展示如何利用Java 8及以上版本中的Lambda表达式、Stream API等特性来简化代码编写,提高开发效率和程序性能。文章旨在为Java开发者提供一种现代的、更加简洁高效的编程方式。
18 5
|
3天前
|
消息中间件 监控 Java
Java 框架界的‘巨星’Spring,让你的代码翩翩起舞!
【6月更文挑战第25天】Spring,Java框架的明星,以其依赖注入(DI)和面向切面编程(AOP)简化开发。DI协调类间协作,AOP提供日志、监控等附加功能。事务管理确保代码稳定性,注解如`@Transactional`自动化事务处理。Spring的集成能力使代码灵活适应多样技术场景,让编程变得优雅高效,犹如舞蹈般流畅。跟随Spring,让代码起舞!
|
3天前
|
JavaScript 前端开发 Java
java 执行 javascript 代码
java 执行 javascript 代码
15 6
|
1天前
|
Java 测试技术
如何编写干净、可维护的Java代码
如何编写干净、可维护的Java代码
|
3天前
|
安全 IDE Java
使用MapStruct和Lombok简化代码
使用MapStruct和Lombok简化代码
17 2
|
3天前
|
存储 自然语言处理 算法
JAVA代码编写规范
JAVA代码编写规范
25 1
|
3天前
|
Java
Java代码的执行顺序
Java代码的执行顺序
|
1天前
|
人工智能 算法 Java
Java进阶代码的具体写法
Java进阶代码的具体写法
|
1天前
|
Java
Java中代码块区别及代码示例
Java中代码块区别及代码示例
|
1天前
|
Java API
Java代码如何将时间戳转换为时间
【6月更文挑战第27天】Java代码如何将时间戳转换为时间
4 0