力扣121. 买卖股票的最佳时机(后缀后)

Problem: 121. 买卖股票的最佳时机

题目描述

在这里插入图片描述在这里插入图片描述

思路及解法

在本题中我们为避免暴力双循环可以采取后缀和的方式,具体的:

1.统计后缀后:在定义一个和prices等大的数组max用于记录后缀和,然后循环从prices数组后开始遍历,如果当prices[i]大于max[i],则更新当前max[i]处的值为prices[i],否则max[i]还是为上一阶段的最大值;
2.找出最大差值:定义一个用于记录差值的int变量result,同时正向遍历prices若max[i] - prices[i] > result则更新result为max[i] - prices[i]

复杂度

时间复杂度:

O ( n ) O(n) O(n);其中 n n n为数组prices的大小

空间复杂度:

O ( n ) O(n) O(n)

Code

class Solution {
   
public:
    /**
     * Suffix sum
     * @param prices
     * @return int
     */
    int maxProfit(vector<int> &prices) {
   
        int n = prices.size();
        vector<int> max(n);
        int curMax = 0;
        //Statistical suffix sum
        for (int i = n - 1; i >= 0; --i) {
   
            max[i] = curMax;
            if (prices[i] > curMax) {
   
                curMax = prices[i];
            }
        }
        int result = 0;
        for (int i = 0; i < n; ++i) {
   
            if (max[i] - prices[i] > result) {
   
                result = max[i] - prices[i];
            }
        }
        return result;
    }
};

相关推荐

  1. 121. 买卖股票最佳时机

    2024-01-31 02:16:01       20 阅读
  2. 122. 买卖股票最佳时机 II

    2024-01-31 02:16:01       36 阅读
  3. 122. 买卖股票最佳时机 II

    2024-01-31 02:16:01       31 阅读
  4. 123. 买卖股票最佳时机 III

    2024-01-31 02:16:01       36 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-31 02:16:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-31 02:16:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-31 02:16:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-31 02:16:01       20 阅读

热门阅读

  1. 运行yolo v8 YOLOv8-CPP-Inference C++部署遇到的问题

    2024-01-31 02:16:01       31 阅读
  2. 【Git】git push代码 git commit -m 提交信息约束规范

    2024-01-31 02:16:01       33 阅读
  3. 【webrtc】m98 : vs2019 直接构建webrtc及unitest工程 1

    2024-01-31 02:16:01       44 阅读
  4. 软件价值2-贪吃蛇游戏

    2024-01-31 02:16:01       40 阅读
  5. day35_js

    2024-01-31 02:16:01       36 阅读
  6. 深入到 TLP:PCI Express 设备如何通信(第二部分)

    2024-01-31 02:16:01       35 阅读
  7. ETCD节点故障的容错方案

    2024-01-31 02:16:01       37 阅读
  8. C++ 手记

    2024-01-31 02:16:01       28 阅读