美文网首页
853. 车队(Python)

853. 车队(Python)

作者: 玖月晴 | 来源:发表于2021-02-22 20:52 被阅读0次

难度:★★★☆☆
类型:数组
方法:栈

力扣链接请移步本题传送门
更多力扣中等题的解决方案请移步力扣中等题目录

题目

N 辆车沿着一条车道驶向位于 target 英里之外的共同目的地。

每辆车 i 以恒定的速度 speed[i] (英里/小时),从初始位置 position[i] (英里) 沿车道驶向目的地。

一辆车永远不会超过前面的另一辆车,但它可以追上去,并与前车以相同的速度紧接着行驶。

此时,我们会忽略这两辆车之间的距离,也就是说,它们被假定处于相同的位置。

车队 是一些由行驶在相同位置、具有相同速度的车组成的非空集合。注意,一辆车也可以是一个车队。

即便一辆车在目的地才赶上了一个车队,它们仍然会被视作是同一个车队。

会有多少车队到达目的地?

示例:

输入:target = 12, position = [10,8,0,5,3], speed = [2,4,1,1,3]
输出:3
解释:
从 10 和 8 开始的车会组成一个车队,它们在 12 处相遇。
从 0 处开始的车无法追上其它车,所以它自己就是一个车队。
从 5 和 3 开始的车会组成一个车队,它们在 6 处相遇。
请注意,在到达目的地之前没有其它车会遇到这些车队,所以答案是 3。

提示:

0 <= N <= 10 ^ 4
0 < target <= 10 ^ 6
0 < speed[i] <= 10 ^ 6
0 <= position[i] < target
所有车的初始位置各不相同。

解答

假设每辆车从左到右行驶,我们把每个车及其对应的速度从左到右排列好,然后计算出每辆车到达终点所需要的时间。我们把每辆车到达终点的时间按照起始位置的顺序放在一个栈中,栈顶元素是最接近终点的。

我们从最接近终点的车开始研究,如果这个车到达终点的时间比前一个车要长,说明两个车一定相遇了,如果相遇,则两个车到达终点的时间由时间较长的后面的车决定,否则,说明前面的车已经自成一队,结果加1。

这里需要注意两车相遇时的处理,如果相遇的话我们需要及时调整栈顶元素也就是后一辆车的到达时间为前一辆车的时间。

class Solution:
    def carFleet(self, target, position, speed):
        times = [float(target - p) / s for p, s in sorted(zip(position, speed))]
        ans = 0
        while times:
            lead = times.pop()
            if not times or lead < times[-1]:
                ans += 1
            else:
                times[-1] = lead
        return ans

如有疑问或建议,欢迎评论区留言~

有关更多力扣中等题的python解决方案,请移步力扣中等题解析

相关文章

  • 853. 车队(Python)

    难度:★★★☆☆类型:数组方法:栈 力扣链接请移步本题传送门[https://leetcode-cn.com/pr...

  • 853.车队

    N 辆车沿着一条车道驶向位于 target 英里之外的共同目的地。 每辆车 i 以恒定的速度 speed[i] ...

  • LeetCode每日一题: 853. 车队

    853. 车队 标签: 贪心算法 N 辆车沿着一条车道驶向位于 target 英里之外的共同目的地。每辆车 i ...

  • LeetCode专题-排序应用

    853. Car Fleet Medium N cars are going to the same destin...

  • 【贤二漫画连载】(851-860)

    851. 要去烦恼,需弄清自己为什么缘起? 852. 修行是让我们成为不被自己烦恼欺骗的人 853. 常发善根需要...

  • 小车队

    小车队再次出发啦,冉冉夏日,孩子们,好似不怕热一样,不管多热都抵挡不住出来嘻嘻的热情。

  • 车队问题

    下面是2020年9月23日面试遇到的一道真实面试题。面试官选题自LeetCode853. 车队。 题目 分析解题思...

  • 哈啰车队

    同学相约聚骑行 哈啰行车受欢迎 手机扫码齐称赞 方便百姓利出行 大家整齐站好队 如鹰似箭离弓行 体力都不减当年 一...

  • 婚礼需避免发生以下状况

    迎亲车队丢车 时下最流行的是自组车队,和婚庆车队相比,自组车队的司机往往没有经验,甚至不熟悉路况,此时最容易发生的...

  • 王者荣耀最新养猪流,五排代练干货~

    相信经常五排的小伙伴们偶尔会遇到车队吧? 目前来说一般是手法车队和套路车队,手法车队就是平常的普遍打法,中路法师,...

网友评论

      本文标题:853. 车队(Python)

      本文链接:https://www.haomeiwen.com/subject/thtutltx.html