diff --git a/knapsack.java b/knapsack.java new file mode 100644 index 0000000..875392f --- /dev/null +++ b/knapsack.java @@ -0,0 +1,52 @@ +import java.util.*; +public class knapsack{ + static int[][] dp; + static int knap(int[] wt, int[] v, int n, int W){ + if(n==0 || W==0){ + return 0; + } + if(dp[n][W]!=-1){ + return dp[n][W]; + } + if(wt[n-1]>W){ + dp[n][W]= knap(wt,v,n-1,W); + } + else{ + int include = v[n-1]+knap(wt,v,n-1,W-wt[n-1]); + int exclude = knap(wt,v,n-1,W); + dp[n][W] = Math.max(include, exclude); + } + return dp[n][W]; + + } + public static void main(String[] args){ + Scanner sc = new Scanner(System.in); + System.out.println("\nENter number of items: "); + int n = sc.nextInt(); + int w[] = new int[n]; + int values[] = new int[n]; + + System.out.println("\nEnter weights: "); + for(int i =0;i