Member-only story

Leetcode 1891

Y Tech
Jul 22, 2023

--

class Solution:
def maxLength(self, ribbons: List[int], k: int) -> int:
total = sum(ribbons)
high = total // k
low = 1

if high == 0:
return 0

while low <= high:
mid = (low + high) // 2
# try out to get k segments of length mid
segments = 0
for ribbon in ribbons:
segments += ribbon // mid
if segments >= k:
low = mid + 1
else:
high = mid - 1

return min(low, high)

--

--

Y Tech
Y Tech

No responses yet