1. 程式人生 > >LeetCode--Best Time to Buy and Sell Stock(最大利潤)Python

LeetCode--Best Time to Buy and Sell Stock(最大利潤)Python

題目:

給定一個數組,第i個位置表示第i天的價格,要求只能完成一組交易(買入一次+賣出一次),求出最大利潤。

解題思路:

對陣列進行遍歷,儲存當前的最小買入價格和當前的最大利潤,遍歷結束後,返回最終的最大利潤即可。

程式碼(python):

class Solution(object):
    def maxProfit(self, prices):
        """
        :type prices: List[int]
        :rtype: int
        """
        n = len(prices)
        if n==0 or n==1:
            return 0
        min0 = prices[0]
        max0 = 0
        for i in range(n):
            if prices[i]<min0:
                min0 = prices[i]
                continue
            if prices[i]>=min0:
                if prices[i]-min0>max0:
                    max0 = prices[i]-min0
                    continue
                else:
                    continue
        return max0