public int maxValue(int[] w, int[] v, int n, int cap) {
int[]dp=new int[cap+1];
int[][]a=new int[n][cap+1];
for(int i=0;i<n;i++){
for(int j=cap;j>=w[i];j--){
dp[j]=Math.max(dp[j],dp[j-w[i]]+v[i]);
a[i][j]=dp[j];
}
}
// for(int i=0;i<n;i++){
// for(int j=0;j<=cap;j++){
// System.out.print(a[i][j]+" ");
// }
// System.out.println();
// }
return dp[cap];
}
近期评论