> 文档中心 > 【从0到1冲刺蓝桥杯国赛】每日一题——最佳买卖股票时期含冷冻期

【从0到1冲刺蓝桥杯国赛】每日一题——最佳买卖股票时期含冷冻期

最佳买卖股票时期含冷冻期icon-default.png?t=M276https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-with-cooldown/

题目描述: 

 C++实现:

 

class Solution {public:    int maxProfit(vector& prices) { if (prices.empty()) {     return 0; } int n = prices.size(); // f[i][0]: 手上持有股票的最大收益 // f[i][1]: 手上不持有股票,并且处于冷冻期中的累计最大收益 // f[i][2]: 手上不持有股票,并且不在冷冻期中的累计最大收益 vector<vector> f(n, vector(3)); f[0][0] = -prices[0]; for (int i = 1; i < n; ++i) {     f[i][0] = max(f[i - 1][0], f[i - 1][2] - prices[i]);     f[i][1] = f[i - 1][0] + prices[i];     f[i][2] = max(f[i - 1][1], f[i - 1][2]); } return max(f[n - 1][1], f[n - 1][2]);    }};