【贪心】45. Jump Game II

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

猜你喜欢

转载自blog.csdn.net/leetcodecl/article/details/80218247