LeetCode Hot 100 No.55 跳跃游戏

LeetCode Hot 100 No.55 跳跃游戏_第1张图片
思路:
设置一个dist变量保存目前能到达的最大距离,从i=0往后遍历到i = nums.length-1(最后一个元素不考虑)。当遍历到的 nums[ i ]下标 i 小于等于dist 时,
计算从该位置能到达的最大距离 d = nums[ i ] + i . 如果d>dist ,就将dist 更新为d。
例:
{ 2,3,1,1,4} dist = 0

i = 0 : i<=dist dist = max( i+nums [ i ], dist) = 2
i = 1 : i<=dist dist = max( i+nums [ i ], dist) = 4
i = 2 : i<=dist dist = max( i+nums [ i ], dist) = 4
i = 3 : i<=dist dist = max( i+nums [ i ], dist) = 4

遍历结束,如果dist>=nums.length-1 说明可以从第一个元素到达最后一个元素,返回true。如果dist

你可能感兴趣的:(LeetCode,Hot,100,leetcode,贪心算法)