刷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;
        
    }
};
相关推荐
sali-tec1 分钟前
C# 基于OpenCv的视觉工作流-章36-骨架提取
图像处理·人工智能·opencv·算法·计算机视觉
CoovallyAIHub2 分钟前
RF-DETR:最近一个月迭代 5 个版本的实时检测+分割模型
深度学习·算法·计算机视觉
Frostnova丶2 分钟前
LeetCode 1878. 矩阵中最大的三个菱形和
算法·leetcode·矩阵
m0_662577975 分钟前
C++中的享元模式实战
开发语言·c++·算法
Storynone9 分钟前
【Day】LeetCode:134. 加油站,135. 分发糖果,860. 柠檬水找零,406. 根据身高重建队列
python·算法·leetcode
喵喵蒻葉睦10 分钟前
力扣 hot100 和为K的子数组 哈希&前缀和
java·数据结构·算法·leetcode·前缀和·哈希算法
jing-ya11 分钟前
day52 图论part4
数据结构·算法·图论
tankeven15 分钟前
最短路径问题00:dijkstra算法
c++·算法
式51616 分钟前
CUDA编程学习(五)线程模型定义、矩阵相加
学习·算法·矩阵
C蔡博士21 分钟前
大数乘法的算法演进:从小学方法到 Karatsuba
算法·大数乘法·分治思想