GitHub Viewer
package DynamicProgramming;
/** A DynamicProgramming based solution for 0-1 Knapsack problem */
public class Knapsack {
private static int knapSack(int W, int wt[], int val[], int n) throws IllegalArgumentException {
if (wt == null || val == null) throw new IllegalArgumentException();
int i, w;
int rv[][] = new int[n + 1][W + 1]; // rv means return value
// Build table rv[][] in bottom up manner
for (i = 0; i