刷leetcode hot100--2 贪心

121. 买卖股票的最佳时机 - 力扣(LeetCode)

贪心:

通过局部最优,推出整体最优。

自己手动模拟,如果模拟可行,就可以试一试贪心策略 ;如果不可行,可能需要动态规划。

验证可不可以用贪心算法:最好用的策略就是举反例,如果想不到反例,那么就试一试贪心吧。

初步思路: min,max min在max前面,解决;否则,O(n^2)

答案思路:

买的一定是卖之前max,维护min买 和max利润 (O(n))

复制代码
class Solution {
public:
    int maxProfit(vector<int>& prices) {
        //买入是卖之前min的
        int profit = 0;
        int minNum = prices[0];
        for(int i = 0;i<prices.size();i++){
            profit = max(prices[i]-minNum,profit);
            minNum = min(minNum,prices[i]);
        }
        return profit;
        
    }
};
相关推荐
做运维的阿瑞12 小时前
多表查询基础:INNER JOIN、LEFT JOIN、RIGHT JOIN
数据库·sql·mysql·算法
大侠归来13 小时前
C语言素数判断:从入门到进阶
java·c语言·算法
v:PLLucky2013 小时前
农作物病虫害检测识别系统
深度学习·scrapy·算法·百度·微信公众平台
朝朝辞暮i13 小时前
C++ 第一阶段总结:从零基础到 ROS2 前置语法
开发语言·c++·算法
H.莓飛13 小时前
【数据结构】链表_OJ题
linux·数据结构·算法·链表
All for pursuit.13 小时前
【回溯-4】46.全排列
数据结构·c++·算法·leetcode
小鱼~~13 小时前
Recall@K、Precision@K、MRR、nDCG@K简介
人工智能·算法·机器学习
在所不辞兄13 小时前
【零基础学智能仿真-38】从规则矩形到带孔薄板:Gmsh 网格与 FEniCSx 联合求解
人工智能·深度学习·算法·机器学习·工程仿真
一木 之林14 小时前
DDPM扩散模型代码实战:前向加噪造数据、U-Net噪声预测与反向生成手写数字
人工智能·算法·计算机视觉
嘎嘎风14 小时前
MiniMind 学习笔记之 02 字是怎么变成数字的?
算法