文章目录
- Tag
- 题目来源
- 题目解读
- 解题思路
- 方法一:动态规划+空间优化
- 写在最后
Tag
【动态规划】【数组】【2023-10-06】
题目来源
714. 买卖股票的最佳时机含手续费
题目解读
本题与 122. 买卖股票的最佳时机 II 如出一辙,仅仅是增加了交易的手续费用。
解题思路
本题可以参考 【面试经典150】买卖股票的最佳时机 II 中的所有解法,只需要增加一个手续费用的开销即可。
以下给出的是优化后的动态规划版本。
方法一:动态规划+空间优化
实现代码
class Solution {
public:
int maxProfit(vector<int>& prices, int fee) {
int buy = -prices[0] - fee, sell = 0;
for (int p : prices) {
buy = max(buy, sell - p - fee);
sell = max(sell, buy + p);
}
return sell;
}
};
复杂度分析
时间复杂度:
O
(
n
)
O(n)
O(n),
n
n
n 为数组 prices
的长度。
空间复杂度: O ( 1 ) O(1) O(1)。
写在最后
买卖股票系列题目
题目 | 解答 |
---|---|
121. 买卖股票的最佳时机 | 【面试经典150】买卖股票的最佳时机 |
122. 买卖股票的最佳时机 II | 【面试经典150】买卖股票的最佳时机 II |
123. 买卖股票的最佳时机 III | 【每日一题】买卖股票的最佳时机 III |
188. 买卖股票的最佳时机 IV | 【每日一题】买卖股票的最佳时机 IV |
309. 买卖股票的最佳时机含冷冻期 | 【每日一题】买卖股票的最佳时机含冷冻期 |
如果文章内容有任何错误或者您对文章有任何疑问,欢迎私信博主或者在评论区指出 💬💬💬。
如果大家有更优的时间、空间复杂度方法,欢迎评论区交流。
最后,感谢您的阅读,如果感到有所收获的话可以给博主点一个 👍 哦。