题目描述:
    image.png
    image.png
    解析:DP dp数组dp[i]表示的是当前位置,能够跳的最大步数

    1. class Solution {
    2. public boolean canJump(int[] nums) {
    3. int[] dp = new int[nums.length];
    4. dp[0] = nums[0];
    5. for (int i = 1; i < nums.length; i++) {
    6. if (dp[i-1] == 0) return false;
    7. dp[i] = Math.max(dp[i - 1] - 1, nums[i]); //dp[i-1]表示的是上一个位置最大可跳的步数,dp[i-1]-1表示的是上一个位置跳了一步后(即跳到了当前位置)剩下的步数
    8. }
    9. return true;
    10. }
    11. }