请手写实现“买卖股票的最佳时机”这一算法题:给定一个数组 prices,其中 prices[i] 表示第 i 天的股票价格,你只能选择某一天买入,并在之后的某一天卖出,求能获得的最大利润。若无法获得利润则返回 0。
考察说明
考察对数组单次遍历求解最大值差的能力及边界处理
回答思路
- 正确理解题目要求:只能买卖一次,且卖出必须在买入之后
- 能提出 O(n) 时间的单次遍历解法,而不是 O(n^2) 暴力法
- 正确处理空数组、单元素数组等边界情况
- 能解释为何记录历史最低价并计算当前利润差是有效的贪心思路
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。