0/1 Knapsack
0/1 Knapsack
Example
I: [2, 3, 5, 7], 11
O: False
I: [2, 3, 5, 7], 10
O: TrueBrute Force Approach
DP Approach
Step 1 Define optimal subproblem
KP(n,k) = can these n items that fit in capacity k
Step 2 Solve by prefix
KP(i,k) = OR(KP(i-1, k), KP(i-1, k - k_i))
Step 3 Base cases
KP(0,0) = T
KP(0,k) = 0 for 1 <= k <= K
Step 4 Topo Order
for i from 1 to n
for k from 0 to K
Step 5 Final answer
KP(n,K)
DP Code
Variant I (LI.92)
Space Optimization
Variant Code
Time & Space Complexity
Variant II (LC.416)
Example
Brute Force Approach
Optimization
Code
Last updated