[LeetCode]2141. Maximum Running Time of N Computers (Hard) Python-2023.07.27
Posted on 2023-07-27 18:34 Uriel 閱讀(39) 評論(0) 編輯 收藏 引用 所屬分類: 閑來無事重切Leet Code 、二分.三分有一些電池,每個電池可以使用batteries[i]時間,問要同時運行n臺機器,每臺機器需要一個電池,最多可以運行多久,二分
一開始r取小了點,WA*1
1 #2141
2 #Runtime: 2010 ms (Beats 33.33%)
3 #Memory: 25.1 MB (Beats 100%)
4
5 class Solution(object):
6 def maxRunTime(self, n, batteries):
7 """
8 :type n: int
9 :type batteries: List[int]
10 :rtype: int
11 """
12 l, r = 0, sum(batteries) // n + 1
13 while l <= r:
14 mid = (l + r) // 2
15 if sum(min(mid, b) for b in batteries) >= n * mid:
16 l = mid + 1
17 else:
18 r = mid - 1
19 return r
2 #Runtime: 2010 ms (Beats 33.33%)
3 #Memory: 25.1 MB (Beats 100%)
4
5 class Solution(object):
6 def maxRunTime(self, n, batteries):
7 """
8 :type n: int
9 :type batteries: List[int]
10 :rtype: int
11 """
12 l, r = 0, sum(batteries) // n + 1
13 while l <= r:
14 mid = (l + r) // 2
15 if sum(min(mid, b) for b in batteries) >= n * mid:
16 l = mid + 1
17 else:
18 r = mid - 1
19 return r