问题:

题目来源:力扣(LeetCode)
难度:困难
分析:
贪心算法
解决方法:
1:
#贪心
#从当前点进行一次跳跃,然后将end的边界拉到本次跳跃最远的边界,遍历这个区间内第二次跳跃能到达的最远点,
#当这个区间遍历结束后,更新最远点,将end拉到这个最远点。跳跃次数+1。
#最后一个点不用跳,直接到达就行
#所以遍历到n - 1就行
class Solution:
def jump(self, nums: List[int]) -> int:
n = len(nums)
maxPos, end, step = 0, 0, 0
for i in range(n - 1):
if i <= maxPos:
maxPos = max(maxPos, i + nums[i])
if i == end:
end = maxPos
step += 1
return step
该博客详细介绍了LeetCode中的第45题‘跳跃游戏II’的Python解法,这是一道被华为用作面试的难题。文章通过贪心算法进行分析,探讨了如何有效地解决这个问题。
1064

被折叠的 条评论
为什么被折叠?



