用Python跳游戏II
假设我们有一个整数数组,其中所有元素都是正数。初始起点是索引1。数组中的每个元素都代表我们在该位置的最大跳跃长度。我们的目标是以更少的跳跃次数到达最终单元。因此,如果数组类似于[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([2,3,1,1,4]))输入值
[2,3,1,1,4]
输出结果
2