From 0612945e4af328993f8adaa6685ca36bddfabdfe Mon Sep 17 00:00:00 2001 From: DarkSpy25 <70094695+DarkSpy25@users.noreply.github.com> Date: Tue, 4 Oct 2022 11:02:11 +0530 Subject: [PATCH] Add files via upload --- knapsack.class | Bin 0 -> 1440 bytes knapsack.java | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 knapsack.class create mode 100644 knapsack.java diff --git a/knapsack.class b/knapsack.class new file mode 100644 index 0000000000000000000000000000000000000000..774891ea7a39a25a4e28277c1b17f4cb30f827f0 GIT binary patch literal 1440 zcmaJ>OK%%h7(F-hxc1nM-Ii$@l1W@h!Fez)DVP$s;Ss6A5aWWYAj_NF*rR6Z@r>me zM~&D)Hmukn1S|?tk+NX}5-BQB2_ZJ!uw}{bK$P%Zk7-gR!t%`h=6sKP&UYUV{<(J_ zz!kh=U<3+>nuZ3QA$wD7iGnBm8-?n|O{W<#=$BpJjg}dd{OlS>f{aF^Y`{Q@Bb~+x zj53TKmMp-gEMa_6RjTxM080(0(vl94C5xwU|n`DKN@S~9UQR$fCph3jX^=}OLJuAuO zWyDec>>5qD60{tK%&O}Eb;nw*EuHqu+VtRl@2#~SYkzZUd@f1 zQUaG4CM)8W+v#_5Tf*x*IoHpWD=RX3-&D;40H6BZfS!O&(TPsY#m7?2>H`g)pbi< z{|$U(NmGitshjE@yss3w$*nu^O#V3%rv3#o{2np~;w;@Z5at1a8)U*qf$mV??N zzfJxNN5F+a!lR%#zh$rgfMj)tv)%nqc6560m}*hCXm0&BUN!k`l!le;N2&Igu)aga z)c0V@qC}ZfIlEQlyZaAfWOx4;idPpc`y0|YGU&pakVj3SOGCvNH7!SdnFB|W`tTZc zV+|>MNcczO{}`kA6d8O)*T?rbiJvL=SGq!ehlxKZd!8yyA@vYh4$l5Yl4VlU3x7eQ z|3kXW*rfzjT)=a2xA6hZrBlwk{3oNXWQ}TF<<+{DO;+oAHdS36z&fD`iISmf)k>Bx z&)+YqKVqVO7uJ$SqQ|v`dCOGyFm(@40eg7nV3nsx3ut4EVUlLHP#}gEF^$Wl^c`Av d1vdFd2){sMf|xx|&r5ijz6`RKC~_I&{{orcKRo~d literal 0 HcmV?d00001 diff --git a/knapsack.java b/knapsack.java new file mode 100644 index 00000000..6dc157ee --- /dev/null +++ b/knapsack.java @@ -0,0 +1,37 @@ +//Ankita Patil + +class knapsack { + int knap(int[] wt, int[] val, int W, int n) { + int[][] M = new int[n + 1][W + 1]; + for (int i = 0; i <= n; i++) { + for (int w = 0; w <= W; w++) { + if (w == 0 || i == 0) + M[i][w] = 0; + else if (wt[i - 1] > w) + M[i][w] = M[i - 1][w]; + else + M[i][w] = Math.max(M[i - 1][w], val[i - 1] + M[i - 1][w - wt[i - 1]]); + } + } + int i = n, k = W; + while (i > 0 && k > 0) { + if (M[i][k] != M[i - 1][k]) { + System.out.println(i); + i = i - 1; + k = k - wt[i]; + } else + i = i - 1; + } + return M[n][W]; + } + + public static void main(String[] args) { + int[] val = new int[] { 10, 4, 9, 11 }; + int[] wt = new int[] { 3, 5, 6, 2 }; + int W = 7; + int n = val.length; + knapsack ob = new knapsack(); + System.out.println("Maximum value in Knapsack: " + ob.knap(wt, val, W, n)); + } + +} \ No newline at end of file