刷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;
        
    }
};
相关推荐
Reart4 分钟前
Leetcode 674.最长连续递增序列 (719)
后端·算法
Reart8 分钟前
Leetcode 300.最长递增子序列(719)
算法
可编程芯片开发12 分钟前
VSG虚拟同步发电机simulink建模与仿真
算法
en.en..14 分钟前
冒泡排序与选择排序完整对比解析
开发语言·数据结构·算法·c#·排序算法
兰令水19 分钟前
hot100【acm版】【2026.7.18打卡-java版本】
java·开发语言·算法
Reart27 分钟前
Leetcode 714.买卖股票的最佳时机含手续费(719)
后端·算法
CoderYanger43 分钟前
A.每日一题:3020. 子集中元素的最大数量
java·程序人生·算法·leetcode·面试·职场和发展·学习方法
Jayden_Ruan1 小时前
C++组合的输出
c++·算法·深度优先
什巳2 小时前
JAVA练习312- 二叉搜索树中第 K 小的元素
java·数据结构·算法·leetcode
froyoisle2 小时前
CSP 真题解析:[CSP-J 2020-T3] 表达式
c++·算法·csp·信息学·信奥赛