使用Python编写的计算机领域买卖股票最大收益程序?
假设我们有一家公司的股票价格列表,按时间顺序排列,并且还有一次出售交易的手续费。我们必须找到我们可以从买卖任何数量的股票中获得的最大利润。我们必须先买入再卖出。
因此,如果输入为prices=[2,10,4,8],fee=3,则输出为6,因为我们可以以2购买,以10出售,并收取3的手续费,因此利润为5。然后我们购买4,并出售8并支付3的费用,因此利润为1,总利润为6。
为了解决这个问题,我们将按照以下步骤进行:
- n:=prices的大小
-
定义函数recur()。这将取i:=0和flag:=0
-
如果i与n相同,则
- 返回0
- 如果标志为false,则
- 返回recur(i + 1, 1) – prices[i]和recur(i + 1,0)中的最大值
- 返回recur(i + 1,1)和recur(i + 1,0) + prices[i] – fee中的最大值
-
从主方法调用recur()
让我们看一下以下实现以获得更好的理解:
更多Python相关文章,请阅读:Python 教程