分析:從前向後遍歷nums數組,index記錄從當前位置,以及當前以前位置跳,最多能跳多遠。如果遍歷到一個的地方,倘若當前index不能大於i,證明不可能跳過這個地方。
class Solution {
public:
bool canJump(vector<int>& nums)
{
int index=0;
for(int i=0;i<nums.size();i++)
{
if(index>=nums.size()-1) return true;
if(nums[i]==0)
{
if(index>i) continue;
else return false;
}
index=max(index,nums[i]+i);
}
if(index>=nums.size()-1) return true;
else return false;
}
};