leetcode-第12周双周赛-5111-分享巧克力

题目描述:

 方法:

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  所以向上取整时,可以防止无限循环  
while l < h:
            m = (l + h + 1) // 2
            print(l, h)
            if possible(m):
                l = m
            else:
                h = m - 1
        return l

猜你喜欢

转载自www.cnblogs.com/oldby/p/11713232.html