1482. Minimum Number of Days to Make m Bouquets (Medium) - TengnanYao/daily_leetcode GitHub Wiki
class Solution(object):
def minDays(self, bloomDay, m, k):
"""
:type bloomDay: List[int]
:type m: int
:type k: int
:rtype: int
"""
if len(bloomDay) < m * k:
return -1
l, r = 0, max(bloomDay)
while l < r:
mid = (l + r) // 2
count = cur = 0
for day in bloomDay:
if day <= mid:
cur += 1
else:
cur = 0
if cur == k:
count += 1
cur = 0
if count < m:
l = mid + 1
else:
r = mid
return l