Code Room0/1 knapsack
MediumPrep Room Coding #1098

0/1 knapsack

CodingAlgorithms & data structuresMid–Senior~25 min

You have a knapsack of integer capacity. Each item is given as [weight, value] and can be taken at most once. Return the maximum total value of a subset whose total weight does not exceed the capacity. Capacity is non-negative; the item list may be empty.

Implement
knapsack_01(capacity: int, items: list[list[int]]) → int
Examples
in[10,[[5,10],[4,40],[6,30],[3,50]]]out90
What a strong answer looks like

State your approach and its time/space complexity out loud before you optimize. Handle the edge cases (empty input, duplicates, overflow), and say why you chose this over the brute force. Green tests are the floor, not the grade.

0:00 of about 25 min
InputExpectedGot
[10,[[5,10],[4,40],[6,30],[3,50]]]90not run yetsample