7 -背包问题

0

file
file

    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]; 
    }