45.跳跃游戏 II

class Solution {
public:
    int jump(vector<int>& nums) {
        int res = 1;
        int predist = nums[0];
        int maxdist = predist;
        int i = 0;
        if(nums.size()==1)return 0;
        if (maxdist>=nums.size()-1) return 1;
        while (i <= maxdist) {
            int nextdist = i+nums[i];
            maxdist=max(maxdist,nextdist);
            if (maxdist>=nums.size()-1) break;
            if (i == predist) {
                res ++ ;
                predist = maxdist;
            }
            i ++ ;

        }
        return res + 1;
    }
};