力扣121. 买卖股票的最佳时机

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

文章目录

题目描述

思路

1.定义一个int数组max大小同prices;定义int变量curMax初始化为0;

2.从后往前遍历数组,若当前元素pricesi > curMax 时,则使将其赋值给curMax再将curMax填写到maxi;

3.定义int变量result再从前往后遍历,若pricei - maxi > result,则更新result,最后返回result。

复杂度

时间复杂度:

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

空间复杂度:

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

Code

cpp 复制代码
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;
    }
};
相关推荐
地平线开发者12 小时前
【模型轻量化专题】衡量模型轻量性的指标
算法
学习星球15 小时前
OFDM技术精讲:正交性推导、循环前缀原理与80行Python链路仿真(附实测数据)
算法·面试·前端框架
alphaTao21 小时前
LeetCode 每日一题 2026/8/24-2026/8/30
python·算法·leetcode
Interview Aid1121 天前
TikTok OA 四题分享|半小时内 AC,题目基本都是实现题
java·开发语言·算法·面试·职场和发展
顶点多余1 天前
那些在算法中适合巩固的知识点---1
java·前端·算法
罗西的思考1 天前
【Agentic RL / 强化学习框架】Molt 设计解读
人工智能·算法·机器学习
hahaha60161 天前
HLS高层次综合设计技巧--C++类和模板
图像处理·人工智能·算法·计算机视觉
多弗朗皮卡丘1 天前
算法详解4:买卖股票的最佳时机系列(上)
算法
维克兜率天1 天前
【维克】动量指标家族:RSI、ROC、CCI、Momentum全面解析
python·算法
AI情绪识别开源2 天前
检信 AI 智能推广平台(代号:JX-Promote)
人工智能·算法·erlang