与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++; } } };