题解 | #买卖股票的最好时机(一)#

买卖股票的最好时机(一)

https://www.nowcoder.com/practice/64b4262d4e6d4f6181cd45446a5821ec

int maxProfit(int* prices, int pricesLen ) {
    // write code here
    int max=0,a=10000,pri=0;    //pri记录当前天数卖出时的盈利  max记录最高盈利   a用于存取最低买入价
    for(int i=0;i<pricesLen;i++){ 
        if(prices[i]<a) a=prices[i];            //当前价格低于a时,令a=最低买入价   
        if(prices[i]>a) pri=prices[i]-a;          //当前价格高于a时,pri=当天卖出可得盈利
        if(pri>max) max=pri;                 //如果本日卖出盈利>最高盈利,则更新最高盈利
    }         //根据例子,8 9可以算出9卖出盈利一块,这个时候如果后面递增,则每次都按8买入算。如果后面出现低价,则考虑按这个价格买入的情况下,后续哪个会盈利,因为后续如果出现高价,那么高-当前最低一定大于-之前的最低。如果一路下跌,max就不会更新。
    return max;
}
一步到位

全部评论

相关推荐

2025-12-18 11:59
广州南方学院 C++
牛客78682892...:直接点还好,总比要了简历也不回的强
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务