Mental Model
We want to pick items with weights and values to maximize value without exceeding a weight limit. Each item can be chosen only once.
Analogy: Imagine packing a backpack for a trip. You have limited space (weight limit) and many items with different sizes and usefulness (value). You want to pack the most useful items without overloading the backpack.
Items: [weight: 2, value: 3], [weight: 3, value: 4], [weight: 4, value: 5] Knapsack capacity: 5 Backpack capacity -> 5 Items -> [2,3], [3,4], [4,5] Goal: max value ≤ 5 weight
