美文网首页
<剑指Offer>面试题63: 股票的最大利润

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

作者: cb_guo | 来源:发表于2019-02-25 18:44 被阅读0次

题目描述

  • 假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?
  • 例如,一只股票在某些时间节点的价格为 {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>面试题63: 股票的最大利润

      本文链接:https://www.haomeiwen.com/subject/gzzgyqtx.html