Python|买卖股票的最佳时机

问题描述给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票。解决方案首先要运用一次遍历,将数据按一定顺序处理;完成遍历之后通过for循环和if循环将该组数据的最小值以及最大值找出并在最小值时购入彩票,最大值时卖出彩票,若最小值在最后将无法完成上述过程,可得到答案为0。代码如下:class Solution:def maxProfit(self, prices):res = 0minValue = float("inf")for i in range(len(prices)):if prices[i] < minValue:minValue = prices[i]elif prices[i] - minValue >  res:res = prices[i] - minValuereturn resif __name__ == '__main__':solution=Solution()a = solution.maxProfit([])print(a)结语由于题目有不得在买入前卖出的条件限制,所以当给出一组数据后我们要先找到该组数据的最小值,再从最小值后找到比最小值大的值,再用该值减去最小值,而不是直接寻找列表中的最大值。“我知道”答题挑战如何将LeetCode中可运行的格式转化为PyCharm中可运行的格式?主编:欧洋稿件来源:深度学习与文旅应用实验室(DLETA)

(0)

相关推荐

  • 上次发过吧,最大值和最小值一起求下哈

    上次发过吧,最大值和最小值一起求下哈

  • Leetcode刷题 2021.01.24

    Leetcode674 最长连续递增序列 给定一个未经排序的整数数组,找到最长且 连续递增的子序列,并返回该序列的长度. 连续递增的子序列 可以由两个下标 l 和 r(l < r)确定,如果对于 ...

  • ​LeetCode刷题实战188:买卖股票的最佳时机 IV

    算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...

  • 【力扣】123. 买卖股票的最佳时机 III

    给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格. 设计一个算法来计算你所能获取的最大利润.你最多可以完成 两笔 交易. 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的 ...

  • 贪心算法:买卖股票的最佳时机II

    贪心有时候比动态规划更巧妙,更好用! 通知:一些录友基础比较薄弱,不知道从哪里开始刷题.可以看一下公众号左下角的「算法汇总」,「算法汇总」已经把题目顺序编排好了,这是全网最详细的刷题顺序了,方便录友们 ...

  • 老股民手把手教你如何用KDJ精准买卖股票 收藏

    首先我们先来看下什么叫:KDJ指标 KDJ指标又叫随即指标,由K线.D线和J线三条曲线所组成,是一种中短线的技术指标分析指标. KDJ指标只判断股票的超买超卖的现象,在KDJ指标中则融合了引用了平均线 ...

  • 20年老股民买卖股票不亏战法,只看这两条均线

    两条均线:5均线和8均线. 一个简单的2条均线就可以应对复杂的走势,可以在任何复杂的市场生存,无论大盘怎么走,绝对安全的操作.大盘不符合条件股都不买. 操作方法: ①确认站上5周线进入,站上8周线加仓 ...

  • 一个短线炒股高手买卖股票方法,可以收藏!

    每一个完整的波段,基本上包括8根到10根K线.其中,在上升通道(或者下降通道)中,一般有5根到7根上涨(下跌),3根振荡下跌(回升),上一个组合 运行完毕,再度进入下一个组合,两个组合之间的衔接转换K ...

  • 成交量买卖股票

    这是上升趋势,量升价涨 这是下降趋势,要知道一个趋势是怎么形成的,下面来讲讲成交量买卖原则 成交量买卖原则: 1.只选取主要趋势向上,正处于上升通道的股票进行操作,决不理会重要趋势明显处于下降通道的股 ...

  • 基于Python获取股票分析,数据分析实战

    基于Python获取股票分析,数据分析实战

  • RSI指标是如何计算的?股票高手教你正确买卖股票

    RSI指标交叉信号有很好的实战作用.如何运用RSI指标交叉信号?下面我们一起来看一看! 1.死叉信号 股价经过一段时间的上涨走势后,在高位区域6日RSI线与12日RSI线形成死叉,其死叉信号也不受绝对 ...