在Python中查找股票的最大收益的程序?
假设我们有一家公司按时间顺序排序的股票价格列表,我们必须找到我们可以获得的最大利润。我们必须先买后卖,并且在再次购买之前必须等待一天。
因此,如果输入为 prices = [2, 6, 9, 4, 11],则输出将是11,因为我们可以在2时买入,然后在6时卖出,等待一天,然后在4时买入,最后在11时卖出。
要解决这个问题,我们将按照以下步骤进行:
- s := 0
-
b := -无限大
-
for i in range 0 to prices 的大小,做
- temp := b
-
b := b 和 (s – prices[i]) 的最大值
-
如果 i 非零,则
- s := s 和 (temp + prices[i – 1]) 的最大值
- return s 和 (b + prices 的最后一个元素) 的最大值
让我们看以下实现,以更好地了解:
更多Python相关文章,请阅读:Python 教程