#3287. 股票交易最大利润+
股票交易最大利润+
股票交易最大利润+
题目描述
给定一个长度为 N 的数组,数组中的第 i 个数字表示一个给定股票在第 i 天的价格。
设计一个算法来计算你所能获取的最大利润,交易需遵循以下规则:
- 不能同时参与多笔交易(必须在再次购买前出售掉之前的股票)
- 卖出股票后,无法在第二天买入股票(冷冻期为 1 天)
输入格式
- 第一行包含整数 N
- 第二行包含 N 个不超过 10000 的非负整数,表示股票每日价格数组
输出格式
输出一个整数,表示最大利润
数据范围
1 ≤ N ≤ 10⁵
输入样例
5
1 2 3 0 2
输出样例
3
样例解释
交易状态序列:[买入, 卖出, 冷冻期, 买入, 卖出]
- 第一笔交易:第1天买入(价格=1),第2天卖出(价格=2),利润=1
- 冷冻期:第3天
- 第二笔交易:第4天买入(价格=0),第5天卖出(价格=2),利润=2
总利润 = 1 + 2 = 3
补充说明:
- 题目重点考察冷冻期对交易策略的影响
- 需要设计三维状态来区分不同持有/卖出状态
- 时间复杂度应优化至O(N)级别
- 适合考察状态机动态规划的应用能力
- 示例清晰地展示了冷冻期如何影响交易决策
- 题目来自LeetCode
相关
在下列比赛中: