劍指offer刷題 股票的最大利潤

題意

假設把某股票的價格按照時間先後順序存儲在數組中,請問買賣 一次 該股票可能獲得的利潤是多少?
例如一隻股票在某些時間節點的價格爲[9, 11, 8, 5, 7, 12, 16, 14]。
如果我們能在價格爲5的時候買入並在價格爲16時賣出,則能收穫最大的利潤11。

樣例

輸入:[9, 11, 8, 5, 7, 12, 16, 14]

輸出:11
思路 枚舉出每次在什麼時候進行股票的賣出

class Solution {
public:
    int maxDiff(vector<int>& nums) {
      if(nums.empty()) return 0;
      int minval=nums[0];
      int res=0;
      for(int i=1;i<nums.size();i++)
      {
          if(nums[i]>minval)
          {
              res=max(res,nums[i]-minval);
          }
          minval=min(minval,nums[i]);
      }
      return res;
    }
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章