区间DP——股票问题系列

简介: 区间DP——股票问题系列

image.png

算法思想:通过分析最大利润等于,max{a[i]-min{a[j]}} (j<i)

遍历数组,同时记录最小值min,每次与min作差,最大差则为最大利润。

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

image.png

20201212164857601.png

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


相关文章
|
7月前
【动态规划】买卖股票问题
【动态规划】买卖股票问题
94 0
|
7月前
|
算法 C++ Python
leetcode-122:买卖股票的最佳时机 II (贪心算法)
leetcode-122:买卖股票的最佳时机 II (贪心算法)
53 1
|
算法
【动态规划刷题 8】买卖股票的最佳时机 III && 买卖股票的最佳时机 IV
【动态规划刷题 8】买卖股票的最佳时机 III && 买卖股票的最佳时机 IV
|
2月前
|
存储
(剑指Offer)10、菲波那切数列I—10、青蛙跳台阶问题II—63、股票的最大利润(2021/12/04)
(剑指Offer)10、菲波那切数列I—10、青蛙跳台阶问题II—63、股票的最大利润(2021/12/04)
32 0
|
6月前
动态规划——买卖股票的最佳时机含冷冻期
动态规划——买卖股票的最佳时机含冷冻期
40 1
|
6月前
|
算法
leetcode题解:121.买卖股票的最佳时机
leetcode题解:121.买卖股票的最佳时机
42 0
|
7月前
|
算法
【力扣】121. 买卖股票的最佳时机、122.买卖股票的最佳时机Ⅱ
【力扣】121. 买卖股票的最佳时机、122.买卖股票的最佳时机Ⅱ
|
7月前
代码随想录 Day43 动态规划11 LeetCode T309 买卖股票的最佳时期含冷冻期 T714买卖股票的最佳时机含手续费
代码随想录 Day43 动态规划11 LeetCode T309 买卖股票的最佳时期含冷冻期 T714买卖股票的最佳时机含手续费
53 0
|
7月前
代码随想录 Day41 动态规划09 LeetCode T121 买卖股票的最佳时机 T122 买卖股票的最佳时机II
代码随想录 Day41 动态规划09 LeetCode T121 买卖股票的最佳时机 T122 买卖股票的最佳时机II
44 0
|
7月前
|
存储 算法 程序员
【算法训练-动态规划 一】【应用DP问题】零钱兑换、爬楼梯、买卖股票的最佳时机I、打家劫舍
【算法训练-动态规划 一】【应用DP问题】零钱兑换、爬楼梯、买卖股票的最佳时机I、打家劫舍
137 0