一、题目
二、代码
class Solution
{
//到达最后的最少跳数
//每一个位置保存之前到此的最少跳数
public int jump(int[] nums)
{
int i,j;
int length = 0;
length = nums.length;
int[] min_step = new int[length];
for(i=0;i<length;i++)
{
min_step[i] = Integer.MAX_VALUE;
}
min_step[0] = 0;
for(i=0;i<length;i++)
{
for(j=i+1;j<=i+nums[i]&&j<length;j++)
{
// System.out.println(" i " + i );
// System.out.println(" nums[i] " +nums[i]);
// int index = j;
// System.out.println("修改下标 " + j +" 的值为 "+Math.min(min_step[j],min_step[i]+1));
min_step[j] = Math.min(min_step[j],min_step[i]+1);
}
}
return min_step[length-1];
}
}