代码如下
int jump(int* nums, int numsSize) {
int *index=malloc(sizeof(int)*numsSize);
int i,max_index1,max_index2,j,count;
if(numsSize==1)
return 0;
count=0;
for(i=0;i<numsSize;i++)
index[i]=i+nums[i];
for(i=0;i<numsSize-1;)
{
max_index1=index[i];
if(max_index1>=numsSize-1)
{
count++;
break;
}
for(j=i+1,max_index2=index[j];j<=max_index1;j++)
if(index[j]>=max_index2)
{
max_index2=index[j];
i=j;
}
count++;
}
return count;
}