给定一个数组 prices,其中 prices[i] 表示股票在第 i 天的价格,设计一个算法计算能获得的最大利润。可以多次买卖,但在再次买入之前必须卖出之前持有的股票,且每次卖出后需要等待一天才能再次买入(冷冻期)。请给出算法思路和实现。
考察说明
考察动态规划状态机建模与边界条件处理
回答思路
- 能识别冷冻期约束并转化为状态转移
- 正确设计状态定义(持有、不持有且可买、不持有且冷冻)
- 能写出递推公式并处理初始状态
- 能分析时间复杂度和空间复杂度并给出优化
- 代码实现正确且边界情况处理得当
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。