This commit is contained in:
programmercarl
2023-02-08 17:28:04 +08:00
parent d107b53a4a
commit 1ec9d9bcb4
22 changed files with 146 additions and 148 deletions

View File

@@ -17,15 +17,15 @@
注意:这里的一笔交易指买入持有并卖出股票的整个过程,每笔交易你只需要为支付一次手续费。
示例 1:
输入: prices = [1, 3, 2, 8, 4, 9], fee = 2
输出: 8
* 输入: prices = [1, 3, 2, 8, 4, 9], fee = 2
* 输出: 8
解释: 能够达到的最大利润:
在此处买入 prices[0] = 1
在此处卖出 prices[3] = 8
在此处买入 prices[4] = 4
在此处卖出 prices[5] = 9
总利润: ((8 - 1) - 2) + ((9 - 4) - 2) = 8.
* 在此处买入 prices[0] = 1
* 在此处卖出 prices[3] = 8
* 在此处买入 prices[4] = 4
* 在此处卖出 prices[5] = 9
* 总利润: ((8 - 1) - 2) + ((9 - 4) - 2) = 8.
注意:
* 0 < prices.length <= 50000.
@@ -34,14 +34,14 @@
## 思路
在讲解贪心专题的时候我们已经讲过本题了[贪心算法:买卖股票的最佳时机含手续费](https://programmercarl.com/0714.买卖股票的最佳时机含手续费.html)
在讲解贪心专题的时候我们已经讲过本题了[贪心算法:买卖股票的最佳时机含手续费](https://programmercarl.com/0714.买卖股票的最佳时机含手续费.html)
使用贪心算法的性能是
* 时间复杂度O(n)
* 空间复杂度O(1)
* 空间复杂度O(1)
那么我们再来看看是使用动规的方法如何解题
本题使用贪心算法并不好理解也很容易出错那么我们再来看看是使用动规的方法如何解题
相对于[动态规划122.买卖股票的最佳时机II](https://programmercarl.com/0122.买卖股票的最佳时机II动态规划.html)本题只需要在计算卖出操作的时候减去手续费就可以了代码几乎是一样的