LeetCode 45 跳跃游戏 II

  • 分析
    下面代码使用的贪心策略。
  • 代码
class Solution {
    
    
public:
    int jump(vector<int>& nums) {
    
    
        int size = nums.size();
        int i = 0;
        int count = 0;
        while(i < size - 1){
    
    
            int max_index = i;
            int bianjie = nums[i];
            for(int k = 0; k <= bianjie;k++){
    
    
                if(i + k >= size - 1){
    
    
                    max_index = size - 1;
                    break;//可以跳到最后
                }
                if(i + k + nums[i + k] >= max_index + nums[max_index]){
    
    
                    max_index = i + k;
                }
            }
            count++;
            i = max_index;
        }
        return count;
    }
};

猜你喜欢

转载自blog.csdn.net/xiaoan08133192/article/details/117194915