原题链接:Leecode 55. 跳跃游戏
每一个位置,他能跳跃到的最远位置为i+nums[i]
,每到一个位置就更新一下最远能够跳跃到的距离,如果小于数组的最后一位,即输出false
。
class Solution {
public:
bool canJump(vector<int>& nums) {
int m=nums.size();
int reach=0;
for(int i=0;i<m;i++)
{
if(reach<i) return false;
reach=max(reach,nums[i]+i);
}
return true;
}
};