思路:
用一个变量更新全局能到的最远范围, 如果这个范围超过i, 说明我们还有能向前的可能, 如果i都大于当前最远范围了, 说明i之前的数无法让我们跳到i以及i之后的位置了, 返回假即可.
bool canJump(vector<int>& nums) {
if (nums.size() == 1 || nums.empty())
return true;
int maxRange = 0;
for (int i = 0; i <= maxRange; i++) {
maxRange = max(maxRange, i + nums[i]);
if (maxRange >= nums.size() - 1)
return true;
}
return false;
}