122. 买卖股票的最佳时机 II


思路

prices.append(0) 预防[1,2,3,4,5]情况

假设dp代表当天卖出的利润

v代表最大利润

mins代表买入的最小价格

卖出最大利润的情况:当天卖出比前一天卖出利润小,说明前一天就是卖出的最好时期,前一天卖出 : 则今天就是购买的日期 ,买入最小价格必然是今天(新一轮的查找卖出最大利润),则今天买、卖,利润为0

python 复制代码
class Solution(object):
    def maxProfit(self, prices):
        """
        :type prices: List[int]
        :rtype: int
        """
        if len(prices)<=1:
            return 0
        prices.append(0)
        dp=[0]*len(prices)
        dp[0],mins=0,prices[0]
        v=0
        for i in range(1, len(prices)):
            mins = min(mins, prices[i])
            if prices[i] - mins <dp[i - 1]:
                v += dp[i - 1]
                mins = prices[i]
            dp[i] = prices[i] - mins
        return v
相关推荐
小张学Python3 分钟前
AI数字人Heygem:口播与唇形同步的福音,无需docker,无需配置环境,一键整合包来了
python·数字人·heygem
跳跳糖炒酸奶7 分钟前
第四章、Isaacsim在GUI中构建机器人(2):组装一个简单的机器人
人工智能·python·算法·ubuntu·机器人
步木木34 分钟前
Anaconda和Pycharm的区别,以及如何选择两者
ide·python·pycharm
星始流年36 分钟前
解决PyInstaller打包PySide6+QML应用的资源文件问题
python·llm·pyspider
南玖yy38 分钟前
Python网络爬虫:从入门到实践
爬虫·python
The Future is mine1 小时前
Python计算经纬度两点之间距离
开发语言·python
九月镇灵将1 小时前
GitPython库快速应用入门
git·python·gitpython
兔子的洋葱圈2 小时前
【django】1-2 django项目的请求处理流程(详细)
后端·python·django
独好紫罗兰2 小时前
洛谷题单3-P5719 【深基4.例3】分类平均-python-流程图重构
开发语言·python·算法
27669582922 小时前
美团民宿 mtgsig 小程序 mtgsig1.2 分析
java·python·小程序·美团·mtgsig·mtgsig1.2·美团民宿