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

题目

解法1

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

复制代码
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

换个角度

思路:有题目可知,针对每一个price[i],找到对于它来说,左边的最小值min_num,获得max(price[i]-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
相关推荐
Java成神之路-12 小时前
【LeetCode 刷题笔记】367.有效的完全平方数 | 二分查找经典刷题题解
算法·leetcode
星空椰12 小时前
从零到实战:一套完整的 Python 爬虫技术体系(requests + BeautifulSoup + 正则 + JSON)
爬虫·python·json·beautifulsoup
一切皆是因缘际会19 小时前
从概率拟合到内生心智:2026 下一代 AI 架构演进与落地实践
人工智能·深度学习·算法·架构
Java成神之路-19 小时前
【LeetCode 刷题笔记】34. 在排序数组中查找元素的第一个和最后一个位置 | 二分查找经典刷题题解
算法·leetcode
不忘不弃19 小时前
用BFS方法求解平分汽油问题
算法·宽度优先
AI科技星19 小时前
全域数学·72分册·射影原本 无穷维射影几何卷细化子目录【乖乖数学】
人工智能·线性代数·算法·机器学习·数学建模·数据挖掘·量子计算
风落无尘19 小时前
《智能重生:从垃圾堆到AI工程师》——第四章 变化的艺术
人工智能·线性代数·算法
七颗糖很甜19 小时前
电离层对地基雷达测量精度的影响分析与校正方法
python
JAVA面经实录91719 小时前
计算机基础(完整版·超详细可背诵)
java·linux·数据结构·算法
AC赳赳老秦20 小时前
知识产权辅助:用 OpenClaw 批量生成专利交底书 / 软著申请材料,自动校验格式与内容合规性
java·人工智能·python·算法·elasticsearch·deepseek·openclaw