题目描述:
方法:
class Solution: def maximizeSweetness(self, A: List[int], K: int) -> int: def possible(x): k, temp = 0, 0 for a in A: temp += a if temp >= x: k, temp = k + 1, 0 return k >= K + 1 l, h = min(A), sum(A)
// mid 向上取整,在一般的二分里 left = mid + 1, right = mid
// 在当前这个二分中 left = mid, right = mid - 1 所以向上取整时,可以防止无限循环
// 在当前这个二分中 left = mid, right = mid - 1 所以向上取整时,可以防止无限循环
while l < h: m = (l + h + 1) // 2 print(l, h) if possible(m): l = m else: h = m - 1 return l