首页 > 其他分享 >121. 买卖股票的最佳时机

121. 买卖股票的最佳时机

时间:2023-08-04 21:38:08浏览次数:31  
标签:买卖 示例 int res self 121 最佳时机 prices return

给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。

你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。

返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。

示例 1:

输入:[7,1,5,3,6,4]
输出:5

示例 2:

输入:prices = [7,6,4,3,1]
输出:0
class Solution:
    def maxProfit(self, prices: List[int]) -> int:
        res = 0
        i = 0
        while i<len(prices):
            for j in range(i,len(prices)):
                if prices[i]<prices[j]:
                    if prices[j]-prices[i]>res:
                        res = prices[j]-prices[i]
            i += 1
        return res

两层循环,果然超出时间限制了

121. 买卖股票的最佳时机 _List

那怎么办了?想一想

如果找出最小的一个值那就好了

class Solution:
    def maxProfit(self, prices: List[int]) -> int:
        res = 0
        a = float('inf')
        i = 0
        while i<len(prices):
            if prices[i]<a:
                a = prices[i]
            elif prices[i]-a>res:
                res = prices[i]-a
            i += 1
        return res

代码如上,但是我起初想的是找出最小的一个值,然后在该值的后面找到一个最大的值相减就是我们要的结果,跑了一下发现不对。

后来想了一下确实不行,于是改成上面的了。

标签:买卖,示例,int,res,self,121,最佳时机,prices,return
From: https://blog.51cto.com/u_16123878/6968409

相关文章

  • day121 - 依赖注入的几种方式(2)
    依赖注入的几种方式为数组类型属性赋值直接配置property中的array属性<beanid="studentFive"class="com.gu.spring.pojo.Student"><propertyname="sid"value="1003"></property><propertyname="sname"value......
  • UVA 12170
    从另一个网站上的我的博客里转的。感觉放在一起比较好。时间久远,而且是英文(流泪)。EasyClimbStep1If\(x_i,d\le100\).Thendefine\(dp_{i,j}\)astheminimumcostforthefirst\(i\)stacks,with\(j\)astheheightofthe\(i^{\tt{th}}\)stack.Then,theformu......
  • 房屋买卖的流程
    http://www.loupan.com/fwmmlc公积金申请复议需要到上海住房置业担保中心去申请需要的材料如下:1.个人户口本,结婚证原件和复印件。复印件是要上交的,原件不用2.买房和开发商签订的预售合同,这个需要复印件。我买的是一手房,如果是二手房的话,应该需要二手房买卖合同。3.个人社保明细......
  • P1219 八皇后 Checker Challenge(深度搜索dfs经典问题+回溯)
    题目连接:P1219[USACO1.5]八皇后CheckerChallenge-洛谷|计算机科学教育新生态(luogu.com.cn) 典型的深度优先搜索的问题----》先付代码再来跟新java组代码packagePTACZW;importjava.util.Scanner;importjava.io.*;importjava.util.Set;importjava.util.Has......
  • 移动平均线Forexclub这样用,一眼识别买卖信号
    Forexclub建议使用H1时间框架和欧元/美元货币对。在该策略中,Forexclub使用了线性加权移动平均线作为主要指标,同时将其作为一个额外的过滤器。线性加权移动平均线(LWMA)的优势在于,它更重视最近的价格变动,而且长期时间框架几乎没有延迟。此外,Forexclub仅根据MA相对于价格变动的位置来......
  • 1212
     窗体顶端 号牌种类 小型汽车号牌号码 PH1W19机动车状态 正常所有人 李金涛抵押标记 ****住所地址 山东省临清市先锋街道郭堤居******登记证书编号 370010902690联系地址 山东省临清市先锋街道郭......
  • 洛谷P1219 [USACO1.5] 八皇后 Checker Challenge
    写在前面我又回来了!偷了几天懒,还认识我吗?甭管认识不认识,还是要自我介绍一番:本人是初学c++的初中生,还是个蒟蒻,最要命的是没有脑子。今天,还请允许我浪费您一点时间,叨叨上几句。本题目来自于洛谷,网址https://www.luogu.com.cn/problem/P1219,建议在洛谷上看一下。本题解非盈利,无恶......
  • P1216 [USACO1.5] [IOI1994]数字三角形
    自己的思想:要用逆序,但是某个未知的位置可能存在一个非常大的数,因此不知道如何dp看题解之后:对于倒数第二行的数,可以算出它们的最优解,依次往上推,第一个数就是整体的最优解,其实本质上可以用隔离意识来看,在搞最后一排时,将前面所有排隔离掉,在处理中间的每一排时,又将其他排隔离掉接下......
  • 123. 买卖股票的最佳时机 III
    1.题目读题  考查点 2.解法思路 有两种解法动态规划双指针代码逻辑 具体实现 动态规划思路动态规划的思路是这样的:我们可以把问题分解成多个子问题,每个子问题都是在某一天结束时,完成了多少次交易,手上是否持有股票,以及此时的最大利润是多少。我们......
  • P1217
    难度:4/10总结1同时试验了O(k*根号n)的质数试验法和O(nloglogn)≈O(n)的埃氏筛法,虽然看上去筛法更快,但是,当k不大且n不小的时候,即真正所需知道是否的质数的数不多时,朴素的挨个试验法其实更快,两个方法的代码都在这里。2scanf/printf功能更强大而且读写速度几乎比cin/cout快了一倍,所以......