算法——动态规划——买卖股票

力扣原题

class Solution {
public:
    int maxProfit(vector &prices) {
        vector> dp(prices.size(),vector(2)); // 每一行各有两个状态,一个是持有股票,一个是不持有股票
        dp[0][0] = - prices[0];
        dp[0][1] = 0;


        for (int i = 1; i < prices.size(); ++i) {
            dp[i][0] = max(dp[i-1][0],-prices[i]);
            dp[i][1] = max(dp[i-1][1],dp[i-1][0]+prices[i]);
        }

        
        return dp[prices.size()-1][1];

    }
};

你可能感兴趣的:(算法,动态规划)