股票买卖最佳时机leetcode FindMaxProfitFromStocks:通过寻找最佳的股票价格进行买卖以赚取最大利润
股票买卖最佳时机leetcode通过寻找最佳的股票价格进行买卖以赚取最大利润问题。编写一个程序来检查这些数据,以选择最佳买入时间和价格以及最佳卖出时间和价格,以获得最大利润。
解决方案
动态规划用于解决赚取最大利润的问题。
该程序的伪代码如下:
-
让利润= 0
-
让min = arr[0]
-
对于k = 1到长度(arr):
-
如果arr[k] < min,设置min = arr[k]
-
如果利润 < arr[k] - min,设置利润 = arr[k] - min
-
该算法的美妙之处在于它仅使用 O(n)时间 和 O(1)内存。
此外,main.py
脚本的结构负责处理多个股票价格数据。假设该问题有一个单一的解决方案,即交易者在给定的一天只能买卖一次股票。
在现实生活中,可能还有其他变化,例如:
-
有和没有冷却的情况下最多进行k次交易。
-
除了股票的价格,每只股票都有相关的罚款成本(交易费)。
项目结构概述
-
这是用于运行程序的主要Python脚本。
-
该文件包含一个名为
MaxProfit
的类,其中包含从给定数据评估最大利润的主要算法。