区间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;
    }
};


相关文章
|
10月前
【动态规划】买卖股票问题
【动态规划】买卖股票问题
112 0
|
10月前
|
算法 C++ Python
leetcode-122:买卖股票的最佳时机 II (贪心算法)
leetcode-122:买卖股票的最佳时机 II (贪心算法)
67 1
|
算法
【动态规划刷题 8】买卖股票的最佳时机 III && 买卖股票的最佳时机 IV
【动态规划刷题 8】买卖股票的最佳时机 III && 买卖股票的最佳时机 IV
|
5月前
|
存储
(剑指Offer)10、菲波那切数列I—10、青蛙跳台阶问题II—63、股票的最大利润(2021/12/04)
(剑指Offer)10、菲波那切数列I—10、青蛙跳台阶问题II—63、股票的最大利润(2021/12/04)
46 0
|
9月前
动态规划——买卖股票的最佳时机含冷冻期
动态规划——买卖股票的最佳时机含冷冻期
50 1
|
10月前
|
存储 算法 程序员
【算法训练-动态规划 一】【应用DP问题】零钱兑换、爬楼梯、买卖股票的最佳时机I、打家劫舍
【算法训练-动态规划 一】【应用DP问题】零钱兑换、爬楼梯、买卖股票的最佳时机I、打家劫舍
169 0
|
算法
【学会动态规划】买卖股票的最佳时机 III(17)
【学会动态规划】买卖股票的最佳时机 III(17)
48 0
|
算法 计算机视觉
【学会动态规划】买卖股票的最佳时机 IV(18)
【学会动态规划】买卖股票的最佳时机 IV(18)
82 0
|
算法 NoSQL C++
剑指offer(C++)-JZ63:买卖股票的最好时机(一)(算法-动态规划)
剑指offer(C++)-JZ63:买卖股票的最好时机(一)(算法-动态规划)
|
算法 Java
dp算法 力扣123 买卖股票的最佳时机 III
dp算法 力扣123 买卖股票的最佳时机 III