diff --git a/Intermediate/Java/project_45.java b/Intermediate/Java/project_45.java new file mode 100644 index 0000000..4ff49ff --- /dev/null +++ b/Intermediate/Java/project_45.java @@ -0,0 +1,31 @@ +/* 0-1 Knapsack */ +// Solved by Rohit14Mondal +class Knapsack { + + + static int max(int a, int b) { return (a > b) ? a : b; } + + static int knapSack(int W, int wt[], int val[], int n) + { + // Base Case + if (n == 0 || W == 0) + return 0; + + if (wt[n - 1] > W) + return knapSack(W, wt, val, n - 1); + + + else + return max(val[n - 1] + knapSack(W - wt[n - 1], wt, val, n - 1), + knapSack(W, wt, val, n - 1)); + } + + public static void main(String args[]) + { + int val[] = new int[] { 60, 100, 120 }; + int wt[] = new int[] { 10, 20, 30 }; + int W = 50; + int n = val.length; + System.out.println(knapSack(W, wt, val, n)); + } +}