剑指offer——73股票的最大利润

题目:

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

题解:

  简单地一批

  

 1 int maxBenifit(vector<int>data)
 2 {
 3     if (data.size() < 2)return 0;
 4     int minV = data[0], res = 0;
 5     for (int i = 1; i < data.size(); ++i)
 6     {
 7         res = res >= data[i] - minV ? res : data[i] - minV;
 8         minV = minV < data[i] ? minV : data[i];
 9     }
10     return res;
11 }

 

posted @ 2019-10-20 22:09  自由之翼Az  阅读(103)  评论(0编辑  收藏  举报