查找通过Python的所有停靠点所需的最少公交车数量的程序

假设我们有一个称为nums的数字列表,它在一行上显示了公共汽车站,其中nums [i]显示了公共汽车必须到达站点i的时间。现在公交车只能前进,我们必须找到通过所有站点所需的最少公交车数量。

因此,如果输入类似于nums = [1、2、7、9、3、4],那么输出将为2,因为一条公交车可以停靠[1、2、3、4],而另一辆公交车可以进行[ 7、9]。

为了解决这个问题,我们将按照以下步骤操作:

  • 回答:= 0

  • 见:=一个列表,其长度与nums相同,最初填充为false

  • 对于每个索引i和以数字为单位的对应n

    • 看过[i]:=正确

    • 回答:=回答+1

    • 上一页:= n

    • 对于范围为i + 1到nums大小的j,执行

    • 见过[j]:=真

    • 上一个:= nums [j]

    • 如果nums [j]> prev并且seeed [j]为假,则

    • 如果看到[i]为假,则

    • 返回ans

    让我们看下面的实现以更好地理解-

    示例

    class Solution:
       def solve(self, nums):
       ans = 0
       seen = [False] * len(nums)
       for i, n in enumerate(nums):
          if not seen[i]:
             seen[i] = True
             ans += 1
             prev = n
       for j in range(i+1, len(nums)):
          if nums[j] > prev and not seen[j]: seen[j] = True
             prev = nums[j]
       return ans
    ob = Solution()nums = [1, 2, 7, 9, 3, 4]
    print(ob.solve(nums))

    输入项

    [1, 2, 7, 9, 3, 4]

    输出结果

    2
    猜你喜欢