Skip to content

Commit 0551e6e

Browse files
authored
Merge pull request #32 from Ayu5-h/patch-2
Create Knapsack.java
2 parents 3404311 + b5491b7 commit 0551e6e

File tree

1 file changed

+61
-0
lines changed

1 file changed

+61
-0
lines changed

Knapsack.java

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
import java.util.*;
2+
public class knapsack {
3+
4+
5+
static int max(int a, int b)
6+
{ return (a > b) ? a : b; }
7+
8+
static int knapSack(int W, int wt[], int val[], int n)
9+
{
10+
int i, w;
11+
int K[][] = new int[n + 1][W + 1];
12+
13+
for (i = 0; i<= n; i++)
14+
{
15+
for (w = 0; w<= W; w++)
16+
{
17+
if (i == 0 || w == 0)
18+
K[i][w] = 0;
19+
20+
else if (wt[i - 1]<= w)
21+
K[i][w] = max(val[i - 1] + K[i - 1][w - wt[i - 1]], K[i - 1][w]);
22+
23+
else
24+
K[i][w] = K[i - 1][w];
25+
}
26+
}
27+
28+
return K[n][W];
29+
}
30+
31+
public static void main(String args[])
32+
{
33+
int i, x, W, val[], wt[];
34+
35+
Scanner s = new Scanner(System.in);
36+
System.out.println("Enter capacity:");
37+
W = s.nextInt();
38+
39+
System.out.println("Enter no. of items:");
40+
x = s.nextInt();
41+
42+
val = new int[x];
43+
44+
System.out.println("Enter " + x + " items:");
45+
46+
for (i = 0;i<x; i++)
47+
val[i] = s.nextInt();
48+
49+
wt = new int[x];
50+
51+
System.out.println("Enter " + x + " items weight:");
52+
53+
for (i = 0;i<x; i++)
54+
wt[i] = s.nextInt();
55+
56+
57+
int n = val.length;
58+
System.out.println("Maximum items possible is "+knapSack(W, wt, val, n));
59+
}
60+
61+
}

0 commit comments

Comments
 (0)