Finish problem 0410-split-array-largest-sum
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
def pieces_needed(nums: list[int], limit: int) -> int:
|
||||
pieces = 1
|
||||
total = limit
|
||||
for num in nums:
|
||||
if total - num >= 0:
|
||||
total -= num
|
||||
else:
|
||||
total = limit - num
|
||||
pieces += 1
|
||||
return pieces
|
||||
|
||||
|
||||
class Solution:
|
||||
def splitArray(self, nums: list[int], k: int) -> int:
|
||||
lo, hi = max(nums), sum(nums)
|
||||
while lo < hi:
|
||||
limit = (lo + hi) // 2
|
||||
if pieces_needed(nums, limit) > k:
|
||||
lo = limit + 1
|
||||
else:
|
||||
hi = limit
|
||||
return lo
|
||||
Reference in New Issue
Block a user