【C++刷题】力扣-#121-买卖股票的最佳时机-题解

时间:2024-10-20 22:51:34

这个问题可以通过一次遍历来解决。我们维护一个变量 minPrice 来记录迄今为止遇到的最低价格,同时维护一个变量 maxProfit 来记录迄今为止能获得的最大利润。

  1. 初始化:minPrice 设置为第一个股票价格,maxProfit 设置为 0。
  2. 遍历数组:从第二个价格开始遍历股票价格数组。
    ○ 对于每个价格,如果它小于 minPrice,则更新 minPrice。
    ○ 否则,计算当前利润(当前价格减去 minPrice),如果这个利润大于 maxProfit,则更新 maxProfit。
  3. 返回结果:遍历结束后,maxProfit 就是能获得的最大利润。