55. 跳跃游戏 - Java 贪心
原题地址:https://leetcode.cn/problems/jump-game/
题解
从左至右遍历,用maxpos维护当前能到达的最远距离,可以认为,如果nums[i]可以到达,那么nums[0]——nums[i-1]都可以到达
当遍历到i时,若maxpos>=i说明i可达,计算从i起跳能到达的最远位置:i+nums[i],并更新maxpos
遍历到最后若maxpos>=nums.length-1则说明数组尾可达
时间复杂度:O(N)
空间复杂度:O(1)
1 | class Solution { |
Comments