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