简介
简单来说就是从一个状态变成另一个状态的路径
感觉还是挺新颖的.
714
https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-with-transaction-fee/
code
class Solution {
public:
int maxProfit(vector<int>& prices, int fee) {
if(prices.size() == 0) return 0;
// 没有冷冻期
vector<vector<int>> dp(prices.size(), vector<int>(2));
dp[0][0] = 0; // 表示第 i 天交易完后手里没有股票的最大利润
dp[0][1] = -prices[0]; // 表示第 i 天交易完后手里持有一支股票的最大利润(i 从 00 开始)。
for(int i=1; i<prices.size(); i++){
dp[i][0] = max(dp[i-1][1] - fee + prices[i], dp[i-1][0]); // 前一天买入的卖出 前一天清空了股票
dp[i][1] = max(dp[i-1][1], dp[i-1][0] - prices[i]); // 继续持有 或者卖出后买入
}
return dp[prices.size() - 1][0];
}
};
---------------------------我的天空里没有太阳,总是黑夜,但并不暗,因为有东西代替了太阳。虽然没有太阳那么明亮,但对我来说已经足够。凭借着这份光,我便能把黑夜当成白天。我从来就没有太阳,所以不怕失去。
--------《白夜行》