跳到主要内容

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

链接:1870.准时到达的列车最小时速
难度:Medium
标签:数组、二分查找
简介:返回能满足你准时到达办公室所要求全部列车的 最小正整数 时速(单位:千米每小时),如果无法准时到达,则返回 -1 。生成的测试用例保证答案不超过 107 ,且 hour 的 小数点后最多存在两位数字 。

题解 1 - python

  • 编辑时间:2024-10-02
  • 执行用时:1579ms
  • 内存消耗:27.52MB
  • 编程语言:python
  • 解法介绍:二分答案
class Solution:
def minSpeedOnTime(self, dist: List[int], hour: float) -> int:
def run(speed: int) -> float:
res = float(0)
for d in dist:
res = ceil(res) + d / speed
return res
MAX = 0x7fffffff
l = 1
r = MAX
while l < r:
m = (l + r) // 2
v = run(m)
if v <= hour:
r = m
else:
l = m + 1
return l if l != MAX else -1