LeetCode122. Best Time to Buy and Sell Stock II-python(easy)

題目來源:

       https://leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/description/

題目分析:

        本題同樣給你一個列表,代表股票每天的價格。需要設計利潤最大化算法。你可以完成你想做的交易(多次買進,賣出一份股票)。但是,你不能同時進行多個交易(即在再次購買之前必須出售股票)。這種題目,網上有兩種理解,但是結果是一樣的。假設允許在同一天買進並賣出股票(題目說的是再次購買前要賣出,沒說不能一天買進又賣出),那麼這個問題可以簡化爲計算相鄰兩天的差額,如果大於0,則賣出,否則不賣;對於不允許同一天買進賣出的人可以這樣理解,例如[2,4,6,7],第一種想法賺的利潤是(4-2)+(6-4)+(7-6)=5,這實際上等效於第一天買進,第4天賣出,同樣利潤爲(7-2)=5

實現代碼:

class Solution:
    def maxProfit(self, prices):
        """
        :type prices: List[int]
        :rtype: int
        """
        pro=0
        if(len(prices)<=1):
            return 0
        else:
            for i in range(len(prices)-1):
                if(prices[i]<prices[i+1]):
                    pro+=prices[i+1]-prices[i]
                else:
                    continue
        return pro

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章