该程序查找通过使用Python一次在股票市场上购买可获得的最大利润

假设我们有一个按时间顺序排列的代表公司股价的价格列表,我们必须找到仅通过买卖该股票一次就能获得的最大利润。我们必须记住,我们必须先购买才可以出售。

因此,如果输入就像价格= [10、12、9、6、8、12],那么输出将是6,因为我们可以在6买入,在12卖出。

为了解决这个问题,我们将遵循以下步骤-

  • max_profit:= 0

  • min_stock:=无限

  • 对于价格中的每个价格,

    • max_profit:= max_profit和(价格-min_stock)的最大值

    • min_stock:=最小库存和价格

  • 返回max_profit

让我们看下面的实现以更好地理解-

示例

class Solution:
   def solve(self, prices):
      max_profit = 0
      min_stock = float('inf')
      for price in prices:
         max_profit = max(max_profit, price - min_stock)
         min_stock = min(min_stock, price)
      return max_profit
ob = Solution()print(ob.solve([10, 12, 9, 6, 8, 12]))

输入项

[10, 12, 9, 6, 8, 12]

输出结果

6
猜你喜欢