与55. JUMP GAME 思路相同,加上一个统计步幅次数的变量即可:
class Solution {
public:
int jump(vector<int>& nums) {
if(nums.size()<2)
return 0;
int i=0;
int res=1;
while(i<nums.size())
{
int max_index=i+nums[i],index=i;
for(int j=i;j<=i+nums[i];j++)
{
if(j+nums[j]>=nums.size()-1)
return j>i?res+1:res;
if( max_index <= (j+nums[j]) )
{
max_index= j + nums[j];
index=j;
}
}
i=index;
res++;
}
}
};