一、题目
二、代码
class Solution
{
public:
int jump(vector<int>& nums)
{
int i,j;
int return_num=0;
int now_index=0;
if(nums.size()==1) return_num=0;
else
{
while(now_index<nums.size()-1)
{
int temp_step=0;
temp_step=nums[now_index];
int temp_max=0;
int increase_index=0;
if(now_index+nums[now_index]>=nums.size()-1)
{
now_index+=nums[now_index];
return_num++;
}
else
{
for(j=now_index+1;j<nums.size()&&j<now_index+1+temp_step;j++)
{
std::cout<<" sum "<< nums[j]+j-now_index <<std::endl;
if(nums[j]+j-now_index>=temp_max)
{
temp_max=nums[j]+j-now_index;
increase_index=j-now_index;
}
std::cout<<" j "<< j <<std::endl;
std::cout<<" temp_max "<< temp_max <<std::endl;
std::cout<<" increase_index "<< increase_index <<std::endl;
}
std::cout<<" temp_max "<<temp_max<<std::endl;
std::cout<<" increase_index "<<increase_index<<std::endl;
if(temp_max<=nums[now_index]) now_index+=nums[now_index];
else now_index+=increase_index;
return_num++;
}
}
}
return return_num;
}
};
三、运行结果