1 /*
 2  * @Author: yaodaoteng
 3  * @Date: 2020-11-28 18:25:08
 4  * @LastEditors: yaodaoteng
 5  * @LastEditTime: 2020-11-30 10:20:53
 6  * @FilePath: \git\leetcode\121.买卖股票的最佳时机.cpp
 7  */
 8 /*
 9  * @lc app=leetcode.cn id=121 lang=cpp
10  *
11  * [121] 买卖股票的最佳时机
12  */
13 
14 // @lc code=start
15 class Solution {
16 public:
17 // 即第i天的最大差值 =
18 //max(前i-1天的最大差值, 第i天的抛出价格-前i-1天的最小买入价格)
19     int maxProfit(vector<int>& prices) {
20         if(prices.size()<1)
21             return 0;
22         //前i-1天的最小买入价格
23         int min_val = prices[0];
24         //第i天的最大差值
25         int max_val = 0;
26         for (int  i = 1; i < prices.size(); i++)
27         {
28             max_val = max(max_val, prices[i] - min_val);
29             min_val = min(min_val, prices[i]);
30         }
31         return max_val;
32         }
33 };
34 // @lc code=end