mirror of
https://hub.njuu.cf/TheAlgorithms/Python.git
synced 2023-10-11 13:06:12 +08:00
Create knapsack.py
Given weights and values of n items, put these items in a knapsack of capacity W to get the maximum total value in the knapsack.
This commit is contained in:
parent
7a08d09079
commit
5a3059784f
14
dynamic_programming/knapsack.py
Normal file
14
dynamic_programming/knapsack.py
Normal file
@ -0,0 +1,14 @@
|
||||
"""
|
||||
Given weights and values of n items, put these items in a knapsack of capacity W to get the maximum total value in the knapsack.
|
||||
"""
|
||||
def knapsack(W, wt, val, n):
|
||||
dp = [[0 for i in range(W+1)]for j in range(n+1)]
|
||||
|
||||
for i in range(1,n+1):
|
||||
for w in range(1,W+1):
|
||||
if(wt[i-1]<=w):
|
||||
dp[i][w] = max(val[i-1]+dp[i-1][w-wt[i-1]],dp[i-1][w])
|
||||
else:
|
||||
dp[i][w] = dp[i-1][w]
|
||||
|
||||
return dp[n][w]
|
Loading…
Reference in New Issue
Block a user