class Solution {
public:
bool canJump(vector<int>& nums) {
int n = nums.size();
vector<bool> dp(n, false);
dp[0] = true;
for (int i = 1; i < n; i++) {
// 从后往前,不然会TLE
for (int j = i - 1; j >= 0; j--) {
// dp[j] == true是条件,不要忘记
if (dp[j] && (nums[j] + j) >= i) {
dp[i] = true;
break; // not "continue"
}
}
}
return dp[n - 1];
}
};