Best Time to Buy and Sell Stock[LeetCode/Python3/Easy]

 

題目

給定一個數組 prices,它的第 i 個元素 prices[i] 表示一支給定股票在第 i 天的價格。

你要買入一支股票一次,並在未來某个时间卖出它。此次交易所能获得的最大利润是多少?如果你不能获得任何利润,返回 0。

示例 1:

输入: [7,1,5,3,6,4]
输出: 5
解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。
注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格。

示例 2:

输入: [7,6,4,3,1]
输出: 0
解释: 在这种情况下, 没有交易完成, 所以最大利润为 0。

提示:

  • 1 <= prices.length <= 105
  • 0 <= prices[i] <= 104

我的答案

class Solution:
    def maxProfit(self, prices: List[int]) -> int:
        if len(prices)<2:
            return 0
        
        max_profit=0
        Buy=0
        for i in range(1,len(prices)):
            if prices[i] < prices[Buy]:
                Buy=i
            if prices[i] - prices[Buy] > max_profit:
                max_profit = prices[i] - prices[Buy]
            
        return max_profit


留言

這個網誌中的熱門文章

[理財/記帳]google表單結合iphone捷徑 自製記帳app

[理財/記帳]利用google表單記帳雲端化 - 免費模板下載@ Mimi's learning notes

[Excel]年份週數換算成月份