mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-10 20:40:39 +08:00
Merge pull request #158 from Winniekun/master
添加0714.买卖股票的最佳时机含手续费 Java版本
This commit is contained in:
@ -95,7 +95,48 @@ public:
|
|||||||
|
|
||||||
|
|
||||||
Java:
|
Java:
|
||||||
|
```java
|
||||||
|
/**
|
||||||
|
* 卖出时支付手续费
|
||||||
|
* @param prices
|
||||||
|
* @param fee
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public int maxProfit(int[] prices, int fee) {
|
||||||
|
int len = prices.length;
|
||||||
|
// 0 : 持股(买入)
|
||||||
|
// 1 : 不持股(售出)
|
||||||
|
// dp 定义第i天持股/不持股 所得最多现金
|
||||||
|
int[][] dp = new int[len][2];
|
||||||
|
dp[0][0] = -prices[0];
|
||||||
|
for (int i = 1; i < len; i++) {
|
||||||
|
dp[i][0] = Math.max(dp[i - 1][0], dp[i - 1][1] - prices[i]);
|
||||||
|
dp[i][1] = Math.max(dp[i - 1][0] + prices[i] - fee, dp[i - 1][1]);
|
||||||
|
}
|
||||||
|
return Math.max(dp[len - 1][0], dp[len - 1][1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 买入时支付手续费
|
||||||
|
* @param prices
|
||||||
|
* @param fee
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public int maxProfit(int[] prices, int fee) {
|
||||||
|
int len = prices.length;
|
||||||
|
// 0 : 持股(买入)
|
||||||
|
// 1 : 不持股(售出)
|
||||||
|
// dp 定义第i天持股/不持股 所得最多现金
|
||||||
|
int[][] dp = new int[len][2];
|
||||||
|
// 考虑买入的时候就支付手续费
|
||||||
|
dp[0][0] = -prices[0] - fee;
|
||||||
|
for (int i = 1; i < len; i++) {
|
||||||
|
dp[i][0] = Math.max(dp[i - 1][0], dp[i - 1][1] - prices[i] - fee);
|
||||||
|
dp[i][1] = Math.max(dp[i - 1][0] + prices[i], dp[i - 1][1]);
|
||||||
|
}
|
||||||
|
return Math.max(dp[len - 1][0], dp[len - 1][1]);
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
Python:
|
Python:
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user