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