「譯」PEP 318--函式和方法的裝飾器
阿新 • • 發佈:2021-12-09
01揹包,要麼裝,要麼不裝
不會,我可以學;落後,我可以追趕;跌倒,我可以站起來!package dp.揹包01; public class knapsack { /** * 01揹包就是 往包裡裝東西,固定容量內最大價值 * * 東西有倆個屬性,體積和價值,揹包有一個屬性容量 * * 每次裝東西,n(第n個物品),c(揹包的容量)就會變化 * @param n * @param c * @return */ static int[] v = {0,2,4,3,7}; static int[] w = {0,2,3,5,5}; public static int knapsack(int n,int c){ int[][] res =new int[n+1][c+1]; for (int i = 0; i <=n; i++) { res[i][0] = 0; } for (int i = 0; i <= c; i++) { res[0][c]=0; } for (int i = 1; i <= n; i++) { for (int j = 1; j <= c; j++) { if(j<w[i]){ res[i][j]=res[i-1][j]; }else{ res[i][j] = Math.max(res[i-1][j],res[i-1][j-w[i-1]]+v[i]); } } } return res[n][c]; } public static void main(String[] args) { System.out.println(knapsack(4,10)); } }