本文最后更新于595 天前,其中的信息可能已经过时,如有错误请发送邮件到tomding1065@gmail.com
视频讲解:https://www.bilibili.com/video/BV1z44y1Z7UR
1.本题就是买卖股票2的一个延伸,手续费就是每次买卖结束之后减去题中给出的手续费的值即可,所以在每次卖出股票的时候顺便减去手续费即可。
CPP
class Solution {
public:
int maxProfit(vector<int>& prices, int fee) {
vector<vector<int>> dp(prices.size(), vector<int>(2, 0));
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], dp[i - 1][1] - prices[i]);
dp[i][1] = max(dp[i - 1][1], dp[i - 1][0] + prices[i] - fee);
}
return max(dp[prices.size() - 1][0],dp[prices.size() - 1][1]);
}
};