程序查找到达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