动态规划之背包问题
来源:互联网 发布:匹克模考tpo软件 编辑:程序博客网 时间:2024/06/05 12:45
只要思虑捋清晰了,代码很容易实现,算法最重要的还是举一反三
物品Bean:
package com.daxin;public class Good {public int value;public int weight;/** * * @param value * @param weight */public Good(int value, int weight) {super();this.value = value;this.weight = weight;}@Overridepublic String toString() {return "Good [value=" + value + ", weight=" + weight + "]";}}
/** * @description 只要思路捋顺了,代码很容易实现 * @param goods * 物品数组 * @param maxWeight * 背包最大容量 * @return */public static int maxValue(Good[] goods, int maxWeight) {// 默认全是0int[][] valueMatrix = new int[goods.length][maxWeight + 1];for (int i = 1; i < goods.length; i++) {for (int j = 1; j < maxWeight + 1; j++) {Good g = goods[i];if (g.weight > j) {// 当前物品的weight大于书包的容量j时候valueMatrix[i][j] = valueMatrix[i - 1][j];} else if (g.weight == j) {valueMatrix[i][j] = g.value;} else {valueMatrix[i][j] = Math.max(g.value + valueMatrix[i - 1][j - g.weight], valueMatrix[i - 1][j]);}}}return valueMatrix[goods.length-1][maxWeight];}
0 0
- 动态规划之背包问题
- 动态规划之背包问题
- 动态规划之背包问题
- 动态规划之背包问题
- 动态规划之背包问题
- 动态规划之背包问题
- 动态规划之背包问题
- 动态规划之背包问题
- 动态规划之背包问题
- 动态规划之背包问题
- 动态规划之背包问题
- 动态规划之背包问题
- 动态规划之背包问题
- 动态规划之背包问题
- 动态规划之背包问题
- 动态规划之背包问题
- 动态规划之背包问题
- 动态规划之背包问题
- jQuery事件详解(所有的)
- Orcl中a用户怎么访问b用户的表
- 事务
- Java温故而知新-空心菱形
- 1. ES 5.2 官方文档-基本概念
- 动态规划之背包问题
- 变态跳台阶
- install rbx1 and ROS工具包和Rviz仿真器
- Intervals poj 3680 最小费用最大流
- 盒子模型(一)
- HDU1254-推箱子
- Xcode SVN配置方法
- 数据结构之排序算法(一)
- 434. Number of Segments in a String#1