首页 > 其他分享 >123. 买卖股票的最佳时机 III

123. 买卖股票的最佳时机 III

时间:2023-05-14 15:11:25浏览次数:38  
标签:int max price 123 最佳时机 prices III

class Solution {
public:
    int maxProfit(vector<int>& prices) {
        int n=prices.size();
        vector<int> f(n+1),g(n+1);
        //预处理f,f[i]表示前i天交易的最大值
        for(int i=1,min_price=INT_MAX;i<=n;i++)//根据当前是否卖出划分
        {
            min_price=min(min_price,prices[i-1]);
            f[i]=max(f[i-1],prices[i-1]-min_price);
        }
        //预处理g,g[i]表示i天买入,[i~n-1]卖出的最大值
        for(int i=n-1,max_price=-1;i>=0;i--)
        {
            max_price=max(max_price,prices[i]);
            g[i]=max_price-prices[i];
        }
        //枚举交易分界点
        int res=0;
        for(int i=0;i<n;i++)
            res=max(res,f[i]+g[i]);
        return res;
    }
};

标签:int,max,price,123,最佳时机,prices,III
From: https://www.cnblogs.com/tangxibomb/p/17399350.html

相关文章

  • STATA 字母 ABCDEF 转 123456
    clearinputstr10var1ABCDEFendcap:sscinstallsencodesavecishi1,replaceencodevar1,generate(var2)tostringvar2,replacegenvar4=tobytes(var1)genvar6=substr(tobytes(var1),3,.)genvar8=char(real(substr(tobytes(var1),3,.))-16) ......
  • Auto_Position=1 主库清空部分binlog从库错误(1236)的解决办法
    环境:OS:Centos7DB:mysql5.7.291.从库同步错误如下:mysql>showslavestatus\G;***************************1.row***************************Slave_IO_State:Master_Host:192.168.1.104Master_User:repl......
  • 122. 买卖股票的最佳时机 II
    题目描述给你一个整数数组prices,其中 prices[i]表示某支股票第i天的价格。在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有一股股票。你也可以先购买,然后在同一天出售。返回你能获得的最大利润 。来源:力扣(LeetCode)链接:https://leetcode......
  • leetcode 1084 销售分析III
    leetcode1084销售分析IIIselectdistinctp.product_id,p.product_namefromProductpleftjoinSalessonp.product_id=s.product_idwheres.product_idnotin(selectproduct_idfromSaleswheresale_date<'2019-01-01'orsale_d......
  • 121. 买卖股票的最佳时机
    class Solution {public:    int maxProfit(vector<int>& prices) {        int buy=prices[0],n=prices.size(),res=0;//记录最小值        for(int i=1;i<n;i++)//枚举第几天卖出        {            res=max(res,prices......
  • 20201230张国强实验三
    免杀原理1.基础问题回答杀软是如何检测出恶意代码的?基于特征码的静态扫描技术在文件中寻找特定的十六进制字符串,如果找到,就可判定文件感染了某种病毒。启发式杀毒技术病毒要达到感染和破坏的目的,通常的行为都会有一定的行为和特征,所以可以通过分析相关的病毒指令,判......
  • Intel Pentium III 512MB内存 i815集显上安装Ubuntu Server 14.04
    自己的御用奔腾IIIPC,接口齐全,准备安装UbuntuServer14.04i386,继续发挥余热,物尽其用。 基本配置:CPU:IntelPentiumIII1000MHz,256KBL2,133MHzFSB,0.18um,1.75v,Coppermine-TRAM:512MBSDRAM,PC133GPU:Inteli82815IGPHDD:128GBSSD, withSATAtoIDEa......
  • prometheus123456
    #catprometheus/prometheus-consul.ymlglobal:scrape_interval:15s#Setthescrapeintervaltoevery15seconds.Defaultisevery1minute.evaluation_interval:15s#Evaluaterulesevery15seconds.Th......
  • 七、使用调度框架quartz,为12306系统增加定时调度功能
    为什么要有定时调度定时调度在企业级系统中非常重要(统计报表、功能补偿、不紧急的大批量任务)12306每天都需要生成15天后的车次数据本章内容集成quartz,比较SpringBoot自带定时任务喝quartz的区别使用控台来操作定时任务:新增、暂停、重启、删除项目中增加batch定时调度......
  • OOP训练集04-06总结(22201237-周琪)
    一、前言  在本次Blog必须分析题目集4的7-1、题目集5的7-5、7-6,题目集6的7-1,而这四道题目都是比较难的题目,除这四道题之外的题目,还会再总结几道踩坑较多、难度相对较低的题目。关于此次Blog需要总结的题目集的难度,总体来说还是比较大的,相较于之前的题目集,难度提升了很多,在之......