class Solution {
public:
bool canJump(vector<int>& nums) {
int overflow = 0;
for (int i = 0; i < nums.size() - 1; i++) {
if (overflow < i) { return false; } // 提前中断, 走不下去了
int k = i + nums[i];
if (k > overflow) { overflow = k; }
}
return overflow >= nums.size() - 1;
}
};