程序查找到达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
热门推荐
10 祝孙辈生日祝福语简短
11 恋人跨年祝福语大全简短
12 考大学敬酒简短祝福语
13 开工投产大吉祝福语 简短
14 偶然结婚祝福语朋友简短
15 感谢学长学姐祝福语简短
16 戏精的祝福语简短
17 我要结婚祝福语简短
18 婚前女儿生日祝福语简短