Java實現-揹包問題II
給出n個物品的體積A[i]和其價值V[i],將他們裝入一個大小為m的揹包,最多能裝入的總價值有多大?
注意事項
A[i], V[i], n, m均為整數。你不能將物品進行切分。你所挑選的物品總體積需要小於等於給定的m。
樣例
對於物品體積[2, 3, 5, 7]和對應的價值[1, 5, 2, 4], 假設揹包大小為10的話,最大能夠裝入的價值為9。
public class Solution {
/**
* @param m: An integer m denotes the size of a backpack
* @param A & V: Given n items with size A[i] and value V[i]
* @return: The maximum value
*/
public int backPackII(int m, int[] A, int V[]) {
// write your code here
if(m==0||A.length==0||A==null){
return 0;
}
int[][] dp=new int[A.length+1][m+1];
for(int i=1;i<=A.length;i++){
for(int j=m;j>=0;j--){
if(j>=A[i-1]){
dp[i][j]=dp[i-1][j-A[i-1]]+V[i-1];
}
dp[i][j]=Math.max(dp[i][j], dp[i-1][j]);
}
}
return dp[A.length][m];
}
}
相關文章
- Java實現-揹包問題IJava
- Java實現-揹包問題VIJava
- 揹包問題(01揹包與完全揹包)
- 揹包問題
- 【演算法資料結構Java實現】Java實現動態規劃(揹包問題)演算法資料結構Java動態規劃
- ACM 揹包問題ACM
- 01揹包問題
- 揹包問題大合集
- 從【零錢兌換】問題看01揹包和完全揹包問題
- 詳解動態規劃01揹包問題--JavaScript實現動態規劃JavaScript
- 詳解動態規劃01揹包問題–JavaScript實現動態規劃JavaScript
- JavaScript中揹包問題(面試題)JavaScript面試題
- 揹包問題例題總結
- JavaScript 揹包問題詳解JavaScript
- javascript演算法基礎之01揹包,完全揹包,多重揹包實現JavaScript演算法
- 【動態規劃】0-1揹包問題原理和實現動態規劃
- 揹包問題解題方法總結
- 01揹包問題的解決
- 揹包問題----動態規劃動態規劃
- 【動態規劃】揹包問題動態規劃
- 揹包問題的演算法演算法
- chapter12-2-揹包問題APT
- 二維費用揹包問題
- 【LeetCode動態規劃#08】完全揹包問題實戰與分析(零錢兌換II)LeetCode動態規劃
- 揹包問題的一道經典問題
- 動態規劃 01揹包問題動態規劃
- 【動態規劃】01揹包問題動態規劃
- 【leetcode】揹包問題彙總LeetCode
- 動態規劃-01揹包問題動態規劃
- 動態規劃篇——揹包問題動態規劃
- 動態規劃--01揹包問題動態規劃
- 動態規劃-揹包01問題推理與實踐動態規劃
- 【動態規劃】01揹包問題【續】動態規劃
- 【演算法】0-1揹包問題演算法
- leetcode題解(0-1揹包問題)LeetCode
- 基礎揹包問題的一些題目!!
- 01揹包、完全揹包、多重揹包詳解
- 揹包DP——完全揹包