Python--买卖股票最佳时机

【Python--买卖股票最佳时机】Python--买卖股票最佳时机
文章图片

class Solution: def maxProfit(self, prices: List[int]) -> int: """ 基本思路:遇低看最低则买,遇高看最高则卖 """ # 返回的最大利润 max_profit = 0 # 买入的列表 buyin = [] # 买入的列表 saleout = [] # 循环初始值 j = 0 if len(prices) < 2: return max_profit while j < len(prices): # 买入 if len(buyin) <= len(saleout) : # 判断是否是最后一个元素 ifj >= len(prices)-1 and prices[j] <= prices[j-1]: break # 不是是最后一个元素,最低的买入 elif prices[j] < prices[j+1]: buyin.append(prices[j]) j = j + 1 elif prices[j] >= prices[j+1] : j = j + 1 # 卖出 elif len(buyin) > len(saleout): # 判断是否是最后一个元素 ifj >= len(prices)-1 and prices[j] >= prices[j-1]: saleout.append(prices[j]) break # 不是是最后一个元素,最高的卖出 elif prices[j] > prices[j+1] : saleout.append(prices[j]) j = j + 1 elif prices[j] <= prices[j+1]: j = j + 1 # 计算最后结果 max_profit = sum([saleout[i] - buyin[i] for i in range(len(saleout))]) return max_profit

    推荐阅读