zoukankan      html  css  js  c++  java
  • 每日一题力扣121 最佳买股票

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

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

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

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    妈耶,这个思路太棒了吧

    class Solution:
        def maxProfit(self, prices: List[int]) -> int:
            dp0 = 0             # 一直不买
            dp1 = - prices[0]   # 只买了一次
            dp2 = float('-inf') # 买了一次,卖了一次
    
            for i in range(1, len(prices)):
                dp1 = max(dp1, dp0 - prices[i])
                dp2 = max(dp2, dp1 + prices[i])
            return max(dp0, dp2)
    
    作者:edelweisskoko
    链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/solution/121-mai-mai-gu-piao-de-zui-jia-shi-ji-zu-1v0i/
    来源:力扣(LeetCode)
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    Django之模板层
    Django之视图层
    Django路由系统
    Django request对象与ORM简介
    浏览器不能访问bing
    SQL问题:com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value
    IDEA用Maven创建SpringMVC项目和配置
    离线安装pyinstaller
    flink1.11-报错问题
    maven的pom文件报红
  • 原文地址:https://www.cnblogs.com/liuxiangyan/p/14602643.html
Copyright © 2011-2022 走看看