2022-03-27 18:35:17 +08:00
< p > You are given an array < code > prices< / code > where < code > prices[i]< / code > is the price of a given stock on the < code > i< sup > th< / sup > < / code > day, and an integer < code > fee< / code > representing a transaction fee.< / p >
< p > Find the maximum profit you can achieve. You may complete as many transactions as you like, but you need to pay the transaction fee for each transaction.< / p >
2023-12-09 18:42:21 +08:00
< p > < strong > Note:< / strong > < / p >
< ul >
< li > You may not engage in multiple transactions simultaneously (i.e., you must sell the stock before you buy again).< / li >
< li > The transaction fee is only charged once for each stock purchase and sale.< / li >
< / ul >
2022-03-27 18:35:17 +08:00
< p > < / p >
2023-12-09 18:42:21 +08:00
< p > < strong class = "example" > Example 1:< / strong > < / p >
2022-03-27 18:35:17 +08:00
< pre >
< strong > Input:< / strong > prices = [1,3,2,8,4,9], fee = 2
< strong > Output:< / strong > 8
< strong > Explanation:< / strong > The maximum profit can be achieved by:
- Buying at prices[0] = 1
- Selling at prices[3] = 8
- Buying at prices[4] = 4
- Selling at prices[5] = 9
The total profit is ((8 - 1) - 2) + ((9 - 4) - 2) = 8.
< / pre >
2023-12-09 18:42:21 +08:00
< p > < strong class = "example" > Example 2:< / strong > < / p >
2022-03-27 18:35:17 +08:00
< pre >
< strong > Input:< / strong > prices = [1,3,7,5,10,3], fee = 3
< strong > Output:< / strong > 6
< / pre >
< p > < / p >
< p > < strong > Constraints:< / strong > < / p >
< ul >
< li > < code > 1 < = prices.length < = 5 * 10< sup > 4< / sup > < / code > < / li >
< li > < code > 1 < = prices[i] < 5 * 10< sup > 4< / sup > < / code > < / li >
< li > < code > 0 < = fee < 5 * 10< sup > 4< / sup > < / code > < / li >
< / ul >