<剑指Offer>面试题63: 股票的最大利润

题目描述

  • 假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?
  • 例如,一只股票在某些时间节点的价格为 {9, 11, 8, 5, 7, 12, 16, 14}
  • 如果我们能在价格为 5 的时候买入并在价格为 16 时卖出,则能收获最大的利润为 11

题目解读

代码

class Solution {
public:
    int maxProfit(vector<int>& prices) {
        if(prices.size() < 2){
            return 0;    
        }
        
        int max = 0;
        int min = prices[0];
        
        for(int i=1; i < prices.size(); i++){
            max = prices[i]-min >  max? prices[i]-min : max;
            min = min > prices[i]? prices[i] : min; 
        }
        return max;
    }
};

总结展望

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本系列导航:剑指offer(第二版)java实现导航帖 面试题63:股票的最大利润 题目要求:求买卖股票一次能获得...
    ryderchan阅读 1,349评论 0 0
  • [美] KELLY MCGONIGAL,PH.D / 著 作者凯利是斯坦福大学广受赞誉的心理学家,他结合心理...
    lk210阅读 1,426评论 1 37
  • 那片笑声让我想起,我的那些花儿,在我生命每个角落静静为我开着…… 清晨,被一个梦惊醒。梦见自己在高中考场上抓耳挠腮...
    索心阅读 782评论 0 0
  • 文/猪小浅 01可我只喜欢你呀 丁雨桐在毕岩的世界里,招摇过市地混了三年。 然后,他们一起去了上海。学校分别在松江...
    猪小浅阅读 1,027评论 4 21
  • 只有在病床上躺过的人,才能感受家中床铺的舒坦;只有经过旅程上的颠簸,才会珍惜家的安宁。
    漳平老顽童阅读 169评论 0 0