程序查找到达Python终点所需的最小跳数

假设我们有一个数组num,其中所有元素都是正数。我们在索引0处。这里,数组中的每个元素代表该位置处的最大跳转长度。我们的目标是以更少的跳转次数到达最终索引(n-1,其中n是数字的大小)。因此,如果数组类似于[2,3,1,1,4],然后输出将为2,因为我们可以从0跳到索引1,然后跳到索引4,即最后一个索引。

为了解决这个问题,我们将遵循以下步骤-

  • 结束:= 0,跳跃:= 0,最远:= 0

  • 对于i,范围为0到nums – 1

    • 增加跳跃数1

    • 结束:=最远

    • 最远的:=最远的最大和数字[i] + i

    • 如果我是结尾,并且我不是nums – 1的长度,则

    • 返回跳跃

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

    示例

    class Solution(object):

       def jump(self, nums):

          end = 0

          jumps = 0

          farthest = 0

          for i in range(len(nums)):

             farthest = max(farthest,nums[i]+i)

             if i == end and i != len(nums)-1:

                jumps+=1

                end = farthest

          return jumps

    ob = Solution()

    print(ob.jump([3, 4, 3, 0, 1]))

    输入项

    [3, 4, 3, 0, 1]

    输出结果

    2

    以上是 程序查找到达Python终点所需的最小跳数 的全部内容, 来源链接: utcz.com/z/327276.html

    回到顶部