LC714 Best Time to Buy and Sell
2020-08-30 本文已影响0人
Rookie118
本题链接:Best Time to Buy and Sell Stock with Cooldown
本题标签:Dynamic Programming
本题难度:


方案1:
class Solution {
public:
int maxProfit(vector<int>& prices, int fee) {
if(prices.size() == 1)
return 0;
if(prices.size() == 2)
return (prices[1] - prices[0] - fee > 0) ? (prices[1] - prices[0] - fee) : 0;
int len = prices.size();
vector<int> buy(len, 0);
vector<int> sell(len, 0);
buy[0] = -prices[0] - fee;
sell[0] = 0;
for(int i = 1; i < len; ++i)
{
buy[i] = max(buy[i - 1], sell[i - 1] - prices[i] - fee);
sell[i] = max(sell[i - 1], buy[i - 1] + prices[i]);
}
return sell[len - 1];
}
};
时间复杂度:
空间复杂度: