1870. 准时到达的列车最小时速

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class Solution:
def minSpeedOnTime(self, dist: List[int], hour: float) -> int:
def check(x):
ans = 0
for i in range(len(dist)-1):
if dist[i]%x==0:
ans += dist[i]//x
else:
ans += dist[i]//x + 1
ans += dist[len(dist)-1]/x
print(x,ans,ans <= hour )
return ans <= hour
def search_II(check):
if len(dist)-1 >= hour: # 除了最后一站 前面的就已经把时间占用了,就一定到不了
return -1
left = 1
right = 10**7 # 这是题目定好的上限。
while left<=right:
mid = (left+right)//2
if check(mid):
right = mid-1
else:
left = mid+1
print(left)
return left
return search_II(check)