用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