动态规划-背包问题(给定容量获得最大的价值量)1

这篇博客首次探讨动态规划在解决背包问题中的应用,旨在最大化价值。通过定义一个数组记录不同容量下的最大价值,并遍历每个物品,判断是否应放入背包。如果放入后总价值增加,则更新最大价值。直至所有物品遍历完,得到最大价值量。

大家好第一次写博客,写的不好的地方还请大家提出,希望大家一起进步
======== 转载请标明转载地址 ========
动态规划-背包问题(给定容量获得最大的价值量)
思路:
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 = new Scanner(System.in);
       
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值