12.15 log 122.买卖股票的最佳时机 II,55. 跳跃游戏

122.买卖股票的最佳时机 II

class Solution {
public:
    int maxProfit(vector<int>& prices) {
        int result=0;
        for(int i=0;i<prices.size();i++){
            if(i>0&&prices[i]-prices[i-1]>0){
                result+=prices[i]-prices[i-1];
            }
        }
        return result;
    }
};

这道题贪心贪的时每一段即买即涨,求数组的每一段单调递增区间值的累加。

55. 跳跃游戏

class Solution {
public:
    bool canJump(vector<int>& nums) {
        int count=0;
        int cover=0;
        for(int i=0;i<=cover;i++){
            count=nums[i]+i;
            cover=count>cover?count:cover;
            if(count>=nums.size()-1) return true;
        }
        return false;  
    }
};

count和cover都是代表数组下标,count代表当前点所能跳到的数组下标 , cover则是当前所走范围内的所能走的最远距离,走一步就要判断一步,cover是不是所能到的最远数组下标,如果count比cover大,cover就要替换为count,所以跳跃游戏贪的就是,在有限的步数之内永远选跨度最大的那一步,如果当前count所能到达的数组下标已经超过最后一个元素的下标则返回true。

45.跳跃游戏 II 

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

跳跃游戏I是判断能否到达终点,跳跃游戏II是给定一定能到达终点,求最小步数,跳跃游戏I是每走一步就要判断覆盖范围,求最大覆盖范围是否包含了终点,跳跃游戏II是在当前覆盖范围里走最大覆盖范围,每变更一次覆盖范围,count++,当i走到当前覆盖范围终点时,覆盖范围变更,如果下一个覆盖范围大于等于终点,break

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-06 18:48:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-06 18:48:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-06 18:48:02       82 阅读
  4. Python语言-面向对象

    2024-01-06 18:48:02       91 阅读

热门阅读

  1. 头歌平台 指针进阶

    2024-01-06 18:48:02       54 阅读
  2. 【Python】关于Python的列表推导式(List Comprehensions)

    2024-01-06 18:48:02       64 阅读
  3. MySQL 8.0中新增的功能(二)

    2024-01-06 18:48:02       47 阅读
  4. 96 双指针解旋转链表

    2024-01-06 18:48:02       56 阅读
  5. WebSocket

    WebSocket

    2024-01-06 18:48:02      58 阅读
  6. 提供小红书笔记详情API的使用说明

    2024-01-06 18:48:02       74 阅读
  7. (C语言)指针的进阶

    2024-01-06 18:48:02       66 阅读