简要题意:
首先你在第一个位置,元素中每一个位置代表你所能跳跃的最长距离。问你是否能走到最后一个位置。
首先我们考虑倒序的解法从后往前当这个位置的数值大于等于到达最后一个位置所需要的距离我们就将该距离设为1,否则就将距离增加1。主要代码如下
class Solution {
public:
bool canJump(vector<int>& nums) {
int len=nums.size();int num=1;
for(int i=len-2;i>=0;i--)
{
if(nums[i]>=num)
{
num=1;
}else num++;
if(i==0&&num>1)return false;
}
return true;
}
};