leecode100-买卖股票的最佳时期-贪心算法

题目

解法1

思路:有题目可知,针对每一个pricei,找到对于它来说,右边的最大值pricej,获得max(pricej-pricei)即可

复制代码
class Solution:
    def maxProfit(self, prices: List[int]) -> int:
        min_num = inf
        max_num = -1
        num = len(prices)
        max_list = [0] * num
        result = 0
        for i in range(num):
            j = num - i -1
            # print('j', j)
            max_num = max(prices[j], max_num)
            max_list[j] = max_num
        max_price = [max_list[i] - prices[i] for i in range(num)]
        result = 0 if max(max_price)<0 else max(max_price)
        return result

解法2

换个角度

思路:有题目可知,针对每一个pricei,找到对于它来说,左边的最小值min_num,获得max(pricei-min_num)即可

cpp 复制代码
class Solution:
    def maxProfit(self, prices: List[int]) -> int:
        num = len(prices)
        min_num = float('-inf')
        result = 0
        for i in range(num):
            min_num = min(min_num, prices[i])
            result = max(prices[i]-min_num, result)
        return result
相关推荐
小大宇18 小时前
python pandas dataFrame sqlAlchemy案例
python·pandas
淼澄研学18 小时前
Python进阶实战:深入解析推导式与生成器等5大核心特性
开发语言·python
stolentime18 小时前
AT_pakencamp_2020_day1_k Gcd of Sum题解
c++·算法
2601_9561219719 小时前
map_计蒜客T1271 完美K倍子数组
c++·算法
xlrqx19 小时前
商丘家电清洗培训零基础学习需掌握哪些要点零基础到底能不能学
python·学习
卷无止境19 小时前
Python虚拟环境江湖:从venv到uv,如何避开依赖冲突的坑
后端·python
玉鸯19 小时前
Agent Harness 工程核心架构拆解与 300 行代码实现
python·agent
编程圈子19 小时前
电机驱动开发学习19. 霍尔 BLDC 三段式 FOC 启动算法
驱动开发·学习·算法
米码收割机19 小时前
【Python】Django 电子设备商城系统(源码+说明文档)[独一无二]
开发语言·python·django
Hello_Damon_Nikola19 小时前
伺服电机堵转检测算法详解
单片机·嵌入式硬件·算法