这个问题可以通过一次遍历来解决。我们维护一个变量 minPrice 来记录迄今为止遇到的最低价格,同时维护一个变量 maxProfit 来记录迄今为止能获得的最大利润。
- 初始化:minPrice 设置为第一个股票价格,maxProfit 设置为 0。
- 遍历数组:从第二个价格开始遍历股票价格数组。
○ 对于每个价格,如果它小于 minPrice,则更新 minPrice。
○ 否则,计算当前利润(当前价格减去 minPrice),如果这个利润大于 maxProfit,则更新 maxProfit。 - 返回结果:遍历结束后,maxProfit 就是能获得的最大利润。