Just write this snippet for my practice of 0-1 Knapsack Problem:
Python
x
19
19
1
values = [1, 2, 3, 4, 5]
2
weights = [3, 2, 1, 9, 6]
3
max_weight = 12
4
5
def knappack():
6
n = len(values)
7
dp = [[0] * (max_weight+1) for _ in range(n)]
8
print(dp)
9
10
for i in range(n):
11
for j in range(1, max_weight+1):
12
if weights[i] > j:
13
dp[i][j] = dp[i-1][j]
14
else:
15
dp[i][j] = max(dp[i-1][j], dp[i-1][j-weights[i]] + values[i])
16
17
print(dp[-1][-1])
18
19
knappack()