给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。

    你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。

    返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。

    1. /**
    2. * 单次迭代,存最小价格
    3. * 时间复杂度:O(n)
    4. * 空间复杂度:O(1)
    5. */
    6. var maxProfit = function(prices) {
    7. let maxProfit = 0
    8. let minPrice = Number.MAX_VALUE
    9. for (const n of prices) {
    10. if (n < minPrice) {
    11. minPrice = n
    12. } else if (n - minPrice > maxProfit) {
    13. maxProfit = n - minPrice
    14. }
    15. }
    16. return maxProfit
    17. };