Best Time to Buy and Sell Stock II - LeetCode

題目連接

Best Time to Buy and Sell Stock II - LeetCodecode

注意點

  • 在賣出以前必需要先購入
  • 不限買入賣出次數

解法

解法一:由於股票的原則就是低入高出,所以從第1天開始(下標從0開始)只要當天的價格高於前一天就能夠進行一次交易。遍歷一趟數組就能夠完成。時間複雜度O(n)blog

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

小結

  • 題目的描述頗有誤導性,不必定要找差值最大的兩個價格,只要有利潤就能夠進行一次交易
相關文章
相關標籤/搜索