Python 中的跳跃游戏 II
pythonserver side programmingprogramming更新于 2026/1/15 7:08:17
假设我们有一个整数数组,其中所有元素都是正数。初始起点位于索引 1。数组中的每个元素代表我们在该位置的最大跳跃长度。我们的目标是以较少的跳跃次数到达最后一个单元格。因此,如果数组为 [2,3,1,1,4],则输出将为 2,因为我们可以从 0 跳到索引 1,然后跳到索引 4,即最后一个索引。
为了解决这个问题,我们将遵循以下步骤 −
end := 0, jumps := 0, farthest := 0
for i in range 0 to length of nums – 1
farthest := farthest 和 nums[i] + i 的最大值
如果 i 是结束,并且 i 不是 nums 的长度 – 1,则
将跳跃次数增加 1
结束 := farthest
返回 jumps
示例
让我们看下面的实现,以便更好地理解 −
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
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

