题目描述:
解析:DP dp数组dp[i]表示的是当前位置,能够跳的最大步数
class Solution {
public boolean canJump(int[] nums) {
int[] dp = new int[nums.length];
dp[0] = nums[0];
for (int i = 1; i < nums.length; i++) {
if (dp[i-1] == 0) return false;
dp[i] = Math.max(dp[i - 1] - 1, nums[i]); //dp[i-1]表示的是上一个位置最大可跳的步数,dp[i-1]-1表示的是上一个位置跳了一步后(即跳到了当前位置)剩下的步数
}
return true;
}
}