https://leetcode.cn/problems/jump-game/description/?envType=study-plan-v2&envId=top-interview-150
class Solution {
public:
bool canJump(vector<int>& nums) {
int n = nums.size();
int lastPos = 0; // 最远可以到达的位置
for (int i = 0; i < n; ++i) {
if (i > lastPos) {
return false; // 如果当前位置超过了最远可以到达的位置,返回false
}
lastPos = max(lastPos, i + nums[i]); // 更新最远可以到达的位置
if (lastPos >= n - 1) {
return true; // 如果最远可以到达的位置已经超过数组末尾,返回true
}
}
return false;
}
};