Posted on 2023-03-09 21:53
Uriel 閱讀(42)
評論(0) 編輯 收藏 引用 所屬分類:
閑來無事重切Leet Code 、
二分.三分
有一堆香蕉,每堆piles[i]個,每小時吃同一堆的<=k個,求最小的k使得這堆香蕉能在h時間內吃完,簡單而分,注意下限選1
1 #875
2 #Runtime: 379 ms (Beats 80.86%)
3 #Memory: 14.7 MB (Beats 56.32%)
4
5 class Solution(object):
6 def minEatingSpeed(self, piles, h):
7 """
8 :type piles: List[int]
9 :type h: int
10 :rtype: int
11 """
12 l = 1
13 r = max(piles)
14 while l < r:
15 mid = (l + r) // 2
16 t = 0
17 for i in piles:
18 t += ceil(i*1.0 / mid)
19 if t > h:
20 l = mid + 1
21 else:
22 r = mid
23
24 return l