class Solution {
public:
int jump(vector<int>& nums) {
int ans = 0, max = 0,m;
for (int i = 0,j = 0; i < nums.size() - 1 && j < nums.size() - 1;) {
for (j = i + nums[i],m = i; j > m && j < nums.size() - 1; j--)
if (j + nums[j] > max)
max = j + nums[j], i = j;
ans++, max = 0;
}
return ans;
}
};