410. Split Array Largest Sum (Hard) - TengnanYao/daily_leetcode GitHub Wiki
class Solution(object):
def splitArray(self, nums, m):
"""
:type nums: List[int]
:type m: int
:rtype: int
"""
l, r = max(nums), sum(nums)
while l < r:
mid = (l + r) // 2
count, cur = 1, 0
for num in nums:
cur += num
if cur > mid:
cur = num
count += 1
if count > m:
l = mid + 1
else:
r = mid
return l