LeetCode714:买卖股票的最佳时机含手续费
题目链接:714. 买卖股票的最佳时机含手续费 - 力扣(LeetCode)
代码如下
class Solution {
public:
int maxProfit(vector<int>& prices, int fee) {
int len = prices.size();
if(len == 0) return 0;
vector<vector<int> > dp(len, vector<int>(2, 0));
//dp[i][0]不持有股票的最大现金
//dp[i][1]持有股票的最大现金
dp[0][0] -= prices[0];
dp[0][1] = 0;
for(int i = 1; i < len; 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[len - 1][1], dp[len - 1][0]);
}
};
这个题目其实就是卖卖股票II的变形,这个无非就是多了个小费,也就是在你卖出股票的时候,减去这个小费就好了。其他完全和买卖股票II一样