class Solution {
public int maxProfit(int[] prices) {
int n=prices.length;
if(n==0){
return 0;
}
int x1=-prices[0],x2=0,x3=0;
for(int i=1;i<n;++i){
int newX1=Math.max(x1,x3-prices[i]);
int newX2=x1+prices[i];
int newX3=Math.max(x2,x3);
x1=newX1;
x2=newX2;
x3=newX3;
}
return Math.max(x2,x3);
}
}
2022-02-08(309. 最*佳买卖股票时机含冷冻期)
最新推荐文章于 2024-10-05 19:23:25 发布
该博客探讨了一个使用动态规划算法解决股票交易中获取最大利润的问题。代码实现中,通过维护三个状态变量x1、x2和x3,分别表示不持有股票且前i天最低价格、持有股票但前i天最低价格、持有股票的最大利润,遍历数组并更新这三个状态,最终返回x2和x3中的最大值作为最大利润。
摘要由CSDN通过智能技术生成