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

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

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;
}
一步到位

全部评论

相关推荐

秋招投简历提醒助手:个人经验是,一般面二十场左右就会进入侃侃而谈阶段。我今年七月末的时候开始的第一次面试,都是很多不会,回复很慢。后面慢慢迭代,到九月中的时候基本上面啥说啥,很放松的状态
远程面试的尴尬瞬间
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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