Posted on 2023-03-09 21:53
Uriel 阅读(33)
评论(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