Finish problem 1011-capacity-to-ship-packages-within-d-days

This commit is contained in:
Johan Sandoval
2026-07-23 13:56:14 -05:00
parent 13e85849b3
commit 25956cc25b
2 changed files with 42 additions and 0 deletions
@@ -0,0 +1,23 @@
def days_needed(weights: list[int], s: int) -> int:
days = 1
capacity = s
for weight in weights:
if capacity - weight >= 0:
capacity -= weight
else:
capacity = s - weight
days += 1
return days
class Solution:
def shipWithinDays(self, weights: list[int], days: int) -> int:
lo, hi = max(weights), sum(weights)
while lo < hi:
s = (lo + hi) // 2
if days_needed(weights, s) > days:
lo = s + 1
else:
hi = s
return lo