leetcode 309. 最佳买卖股票时机含冷冻期

class Solution {
public int maxProfit(int[] prices) {
int len=prices.length;
// 0: no stock; 1: hold stock; 2: no stock & in frozen stage
int[] dp=new int[3];
dp[1]=-prices[0];
for(int i=1;i<len;i++){
int d0=Math.max(dp[0],dp[2]);
int d1=Math.max(dp[1],dp[0]-prices[i]);
int d2=dp[1]+prices[i];
dp[0]=d0;
dp[1]=d1;
dp[2]=d2;
}
return Math.max(dp[0],dp[2]);
}
}

浙公网安备 33010602011771号