
class Solution {public boolean canJump(int[] nums) {int n = nums.length;int[] dp = new int[n];//状态定义://dp[i]:下标为i的位置是否能到达//因为初始就位于下标为0的位置,所以这个格子是一定可以到达dp[0] = 1;//状态转移//从位置i向前遍历,如果前面的点(下标为k)可以到达,即dp[k]为1,//又k+nums[k] >=i,即从k可以跳到i,则dp[i]为1for(int i = 1; i < n; i++){for(int k = 0; k < i; k++){if(dp[k] == 1){if(k + nums[k] >= i){dp[i] = 1;}}}}return dp[n - 1] == 1;}}
