大家好第一次写博客,写的不好的地方还请大家提出,希望大家一起进步
======== 转载请标明转载地址 ========
动态规划-背包问题(给定容量获得最大的价值量)
思路:
1->:定义一个数组numValue[0-max_volume-1],默认值都为0,用于存放容量为1 - max_volume的最大价值量
2->每个物品都只有放入背包和不放入背包两种状态,对每个物品进行遍历,分别在不同的最大容量时判断该物品是不是应该放入背包,但给定容量小于该物品的容量是不需要进行判断
3->如果当前给定的最大容量的最大价值量小于放入该物质的价值量与放入该物品剩余的容量的价值之和,
则当前最大容量的最大价值被后面的和替换,该物品放入背包
4->继续回到第二步,直到所有的物品被遍历完成,numValue里的每个元素的值分别代表最大容量为1 - max_value的最大价值量
import java.util.*;
public class Test {
public static void main(String[] args) {
Scanner input