python购买股票_动态规划python实现-买股票的最佳时机
买股票的最佳时机(动态规划python实现)
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。
如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。
注意你不能在买入股票前卖出股票。
示例 1:
输入: [7,1,5,3,6,4] 输出: 5 解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格。 示例 2:
输入: [7,6,4,3,1] 输出: 0 解释: 在这种情况下, 没有交易完成, 所以最大利润为 0。
分析
这是一道动态规划题:
递推方程可用下面的方式表示:
前i天的最大收益 = max(前i-1天的最大收益,第i天的价格-前i-1天中的最小价格)
dp[i] 表示 如果第i天抛出股票, 所得到的最大收益,那么递推方程可以表示为:
dp[i] = max(dp[i-1],prices[i] - min(prices[0:i]))
此时提交的话,会超时,原因在于没使用递推方程一次,就调用一次min(prices[0:i],这将耗费大量的时间,我们可以做这样的调整,每次都用temp保存前i-2天中的最小价格,然后每次只需要用temp和prices[i]进行比较即可得到前i-1天中的最小价格,这样就可以通过了
解答
class Solution:
def maxProfit(self, prices):
dp = [0]
if not bool(prices):
return 0
else:
temp = prices[0]
for i in range(1,len(prices)):
temp = min(temp,prices[i])
dp.append(max(dp[i-1],prices[i] - temp))
return max(dp)
公众号
python购买股票_动态规划python实现-买股票的最佳时机相关推荐
- python购买股票_十分钟学会用Python交易股票
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 本文通过讲述 [单股票均线策略] 在 Ricequant 量化平台的实现,熟悉平台并快速入门.创建自己的量化策略代码 .难易度:入门级.从一下几点说起: ...
- 如何用python选股票_用Python选一个自己的股票池1
用Python选一个自己的股票池1 来源:https://blog.51cto.com/youerning/2498036 人的精力是有限的,所以将目光聚焦在更小的范围内,也许能够得到性价比最高的效果 ...
- python导入股票_利用Python将股票代码表导入表格
做交易必须做好交易记录,这样方便回顾和总结.对于大部分人来说,Excel是大部分人做电子记录的最佳工具. 这几天在翻看<走进我的交易室>这本书,按照书上参考自己弄了一个表格. 每次输入代码 ...
- python买卖股票_用Python买卖股票III的最佳时间
假设我们有一个数组,第i个元素代表第i天给定股票的价格.我们必须设计一种算法来找到最大的利润.我们最多可以完成两笔交易.因此,如果给定价格为[3,3,5,0,1,3,1,4],则结果将为6,因为我们将 ...
- python 概率分布模型_使用python的概率模型进行公司估值
python 概率分布模型 Note from Towards Data Science's editors: While we allow independent authors to publis ...
- python 时间序列预测_使用Python进行动手时间序列预测
python 时间序列预测 Time series analysis is the endeavor of extracting meaningful summary and statistical ...
- 用python读取股票价格_使用Python写一个量化股票提醒系统
大家在没有阅读本文之前先看下python的基本概念, Python是一种解释型.面向对象.动态数据类型的高级程序设计语言. Python由Guido van Rossum于1989年底发明,第一个公开 ...
- 我用python做股票_十分钟学会用Python交易股票
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 本文通过讲述 [单股票均线策略] 在 Ricequant 量化平台的实现,熟悉平台并快速入门.创建自己的量化策略代码 .难易度:入门级.从一下几点说起: ...
- 用python读取股票价格_借助Python获取股票实时价格的操作方法
今天和大家分享一下使用Python获取股票实时价格的操作方法. 工具/原料 Python软件 可以联网的电脑 方法/步骤 1 要想获取股票数据,我们需要借助第三方模块.我们首先需要打开开始菜单. 2 ...
最新文章
- python request file upload_Python基于requests实现模拟上传文件
- 西南科技大学 计算机组成原理2011-2012,西南科技大学计算机组成原理2010-2011试卷A卷参考答案(2011)...
- 深入学习Redis高可用架构:哨兵原理及实践
- SpringBoot集成jsp(附源码)+遇到的坑
- Kubernetes入门——Kubernetes工作原理及使用
- three.js和php,前端图形学(二十二)一切绕过原生WebGl直接上ThreeJs的都是耍流氓
- no value specified for java.sql.date,求助No value specified for parameter 2
- 《Android深度探索》第一章心得体会
- 转g代码教程_图深度学习入门教程(九)——图滤波神经网络模型
- 【图像隐写】基于matlab GUI DCT变换图像隐写【含Matlab源码 1380期】
- Windows自带集成工具对ISO镜像是否源于官方网站的验证
- echarts 生成 迁徙图_Echarts地图的迁徙图
- 机器学习:训练集和测试集
- java 向量 内积_向量内积(点乘)和外积(叉乘)概念及几何意义
- CentOS 根目录下目录介绍
- 烧牛肉,烧肥肠,泡椒兔,炸胡豆炸豌豆?做法指南
- PCIe Receiver内部恢复时钟与本地时钟
- 晨曦 - 江湖一剑客
- JAVA实验七 图形用户界面的设计与实现
- VS Code 所选驱动器或UNC共享不存在或不可访问。请另外选择