一、最佳买卖股票时机含冷冻期
309. 买卖股票的最佳时机含冷冻期 - 力扣(LeetCode)
public class Solution {public int maxProfit(int[] prices) {int len = prices.length;if (len < 2) {return 0;}int[] dp = new int[3];dp[0] = 0;dp[1] = -prices[0];dp[2] = 0;int pre0 = dp[0];int pre2 = dp[2];for (int i = 1; i < len; i++) {dp[0] = Math.max(dp[0], pre2);dp[1] = Math.max(dp[1], pre0 - prices[i]);dp[2] = dp[1] + prices[i];pre0 = dp[0];pre2 = dp[2];}return Math.max(dp[0], dp[2]);}
}
二、买卖股票的最佳时机含手续费
714. 买卖股票的最佳时机含手续费 - 力扣(LeetCode)
class Solution {public int maxProfit(int[] prices, int fee) {int maximumProfit = 0;int n = prices.length;int prevValue = prices[0] + fee;for (int i = 1; i < n; i++) {if (prices[i] + fee < prevValue) {prevValue = prices[i] + fee;} else if (prices[i] > prevValue) {maximumProfit += prices[i] - prevValue;prevValue = prices[i];}}return maximumProfit;}
}
三、股票类总结
代码随想录 (programmercarl.com)