leetcode121买卖股票的最佳时机

一、问题描述

二、解题思路

可以使用贪心算法来解决这个问题。

MAX记录的是i位置右边的最大值,则i位置买卖股票的最大收益即为MAX-pricesi。ret用于记录最大的收益,初始化为0。从后往前遍历prices向量,更新ret值,再更新MAX值,最后返回ret,即为所求。

三、代码实现

cpp 复制代码
class Solution {
public:
    int maxProfit(vector<int>& prices) {
        int MAX=-1;
        int ret=0;
        for(int i=prices.size()-1;i>=0;i--){
            ret=max(ret,MAX-prices[i]);
            MAX=max(MAX,prices[i]);
        }
        return ret;
    }
};
相关推荐
IT策士2 小时前
Redis 从入门到精通:数据结构String 与键管理
数据结构·redis·wpf
牛油果子哥q2 小时前
【C++运算符重载】C++运算符重载终极精讲:单目/双目/关系/赋值运算符重载、成员与全局重载、重载禁区、底层原理与企业级工程规范
开发语言·c++
2601_961845152 小时前
2026四级作文预测题|英语四级写作押题+提纲PDF
java·c语言·数据库·c++·python·pdf·php
郝亚军2 小时前
Visual Studio 2022项目中的.sln是什么?
c++·c#·visual studio
暖阳华笺2 小时前
【高频考点】K-Means聚类算法
c++·算法·机器学习·kmeans·聚类
下午写HelloWorld2 小时前
后量子密码算法:协同签名研究综述
算法·密码学·后量子·协同签名
小蒋学算法2 小时前
算法-计算右侧小于当前元素的个数-分治&归并思想
java·数据结构·算法
lqqjuly2 小时前
FlashAttention 深度解析
人工智能·深度学习·算法