410. Split Array Largest Sum
solution
class Solution:
def splitArray(self, nums: List[int], k: int) -> int:
left = max(nums)
right = sum(nums)
while left < right:
mid = (left + right) // 2
if self.check(nums, mid, k):
right = mid
else:
left = mid + 1
return left
def check(self, nums, mid, k):
count = 1
cur_sum = 0
for num in nums:
cur_sum += num
if cur_sum > mid:
count += 1
cur_sum = num
if count > k:
return False
return Truefollow up
Last updated