Python 程序计算买卖股票的最佳时机2024 年 8 月 29 日 | 阅读 3 分钟 在下面的教程中,我们将创建一个 Python 程序来估算买卖股票的最佳时间。 那么,让我们开始吧。 理解 Python 项目假设我们有一个数组 X,其中 X[i] 表示第 n 天的股票价格。我们需要计算最大利润。我们最多可以进行一次交易。(交易被认为是买入和卖出股票)。但是,我们必须记住,我们不能同时进行超过一次交易。因此,我们必须在买入新股票之前将其卖出。 让我们考虑数组 X = [7, 1, 5, 3, 6, 4];那么输出将是 5。我们可以看到,如果我们能在第 2 天(索引 1)买入,那么买入价格将是 1。然后如果我们能在第 5 天卖出,我们将获得 6 - 1 = 5 的利润。 让我们按以下步骤解决这个问题 步骤 1:创建两个数组 Lmin 和 Rmax,大小与数组 X 相同,并将它们填充为 0 步骤 2:Lmin[0] = A[0] 步骤 3:对于 n 在范围 1 到 X 的长度 - 1 之间,Lmin[n] = Lmin[n - 1] 和 X[n] 的最小值 步骤 4:Rmax[i - 1] = X[i - 1] 步骤 5:对于 n 在范围 X 的长度 - 1 向下到 1 之间,Rmax[n] = Rmax[n + 1] 和 X[n] 的最大值 步骤 6:将 result 设置为 0 步骤 7:对于 n 在范围 0 到 X 的长度 - 1 之间,result = result 和 Rmax[n + 1] - Lmin[n] 的最大值 步骤 8:返回 result 现在,让我们在下面的代码部分中理解这些步骤的实现 项目代码现在,让我们考虑下面的 Python 程序来计算买卖股票的最佳时间。 文件:stocksProgram.py 输入 输出 [7, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1] [8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7] 6 说明 在上面的代码片段中,我们定义了一个类。然后我们在类中定义了一个函数 max_profit 来计算给定数组的最大利润。我们创建了两个数组 Lmin 和 Rmax,它们的大小与给定数组相同,元素为 0。然后我们将 Lmin 数组的第一个元素赋值给给定数组的第一个元素。我们使用 for-loop 迭代数组的值到 Lmin 数组,并将其打印出来供用户查看。然后我们对 Rmax 数组执行了类似的操作,并打印其元素供用户查看。然后我们将 res 变量的初始值设置为 0。然后我们再次使用 for-loop 来估算最大利润。最后,我们实例化了类,并为用户打印了给定数组的最大利润。在上面的程序中,它是 6。 下一个主题Python 中的元组到字符串 |
? 二进制是基数 2 数字系统,这意味着它只使用两个数字 - 0 和 1。另一方面,十进制是基数 10 数字系统,这意味着它使用十个数字 - 0 到 9。要在 Python 中将二进制数转换为十进制,我们...
阅读 3 分钟
scipy.stats.nbinom() 描述了负二项式离散分布。它是从通用方法继承的 rv_discrete 类的实例。它通过添加特定于此分布的详细信息来完成这些方法。概率质量函数,它给出了负二项式离散分布的总失败次数...
阅读 4 分钟
获取输入是与用户交互或获取数据以提供某些结果的一种方式。Python 提供了两种内置方法来从键盘读取数据。这些方法如下。input(prompt) raw_input(prompt) input() input 函数用于所有最新版本的 Python。它接受...
阅读 2 分钟
什么是食谱推荐系统?在当今快节奏的世界中,大多数人都在寻找快速简便的日常问题解决方案。其中一个问题是决定吃什么。虽然许多人喜欢烹饪,但其他人可能会觉得烹饪具有挑战性,无法做饭...
阅读 4 分钟
在本教程中,我们将学习 Python pandas 方法 df.info() 方法。Pandas 是一个非常流行的库,可以轻松有效地分析数据。它是 Python 中一个重要且广泛使用的方法。此方法打印数据帧的信息或摘要....
5 分钟阅读
肺炎是由细菌、病毒或真菌引起的一种可能危及生命的肺部感染。肺炎的早期发现和诊断对于有效治疗和改善患者预后至关重要。近年来,卷积神经网络(CNN)等深度学习技术在……
阅读 10 分钟
使用二分查找,我们可以在 O(log(n)) 的时间复杂度内找到给定排序数组或列表中的元素,其中 n 是列表中的数字个数。现在让我们在任何枢轴旋转这个排序数组或列表。但是,我们不知道...
7 分钟阅读
在以下教程中,我们将学习如何使用 Python 编程语言进行整除操作。但在开始之前,让我们简要了解一下什么是整除。了解整除 整除是一种正常的除法运算,只是它返回最大的可能整数。这个...
14 分钟阅读
| 如何创建终端进度条 每当我们安装任何 Python 库、模块或安装软件时,我们都会在屏幕上看到进度条,它表示一个小的进度条,用于估计该过程需要多长时间才能完成或呈现。它给我们...
阅读9分钟
在本教程中,我们将学习如何格式化输出。格式化和输出是指呈现程序的输出。我们可以将输出格式化为人类可读的形式,或者将数据写入文件以及其他一些指定形式。有时我们需要...
阅读 4 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India