刷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;
        
    }
};
相关推荐
youngee117 小时前
hot100-60子集
数据结构·算法
郝学胜-神的一滴7 小时前
Linux线程属性设置分离技术详解
linux·服务器·数据结构·c++·程序人生·算法
Timmylyx05187 小时前
2025年最后一搏—— Educational Codeforces Round 186 (Rated for Div. 2) 题解
算法·codeforces·比赛日记
微光闪现7 小时前
国际航班动态提醒与延误预测优选平台指南
大数据·人工智能·算法
leoufung7 小时前
LeetCode 120. Triangle:从 0 分到 100 分的思考过程(含二维 DP 与空间优化)
linux·算法·leetcode
gihigo19987 小时前
基于反步法的路径追踪控制
算法
Jim-2ha07 小时前
【JavaScript】常见排序算法实现
javascript·算法·排序算法
王老师青少年编程7 小时前
2025年12月GESP(C++二级): 黄金格
c++·算法·gesp·csp·信奥赛·二级·黄金格
Herbert_hwt8 小时前
C语言位操作符详解:从入门到实战应用
c语言·算法
爱敲代码的边芙8 小时前
秋招面试准备(后端开发)
面试·职场和发展