leetcode 123. 买卖股票的最佳时机 III

dp[0]: 第i天已经完成1次买入的最大利润
dp[1]: 第i天已经完成1次买出的最大利润
dp[2]: 第i天已经完成2次买入的最大利润
dp[3]: 第i天已经完成2次买出的最大利润
class Solution {
public int maxProfit(int[] prices) {
int len=prices.length;
int[] dp=new int[4];
dp[0]=-prices[0];
dp[1]=0;
dp[2]=-prices[0];
dp[3]=0;
for(int i=1;i<len;i++){
dp[0]=Math.max(dp[0],-prices[i]);
dp[1]=Math.max(dp[1],dp[0]+prices[i]);
dp[2]=Math.max(dp[2],dp[1]-prices[i]);
dp[3]=Math.max(dp[3],dp[2]+prices[i]);
}
return dp[3];
}
}

浙公网安备 33010602011771号