【Leetcode 热题 100】121. 买卖股票的最佳时机

问题背景

给定一个数组 p r i c e s prices prices,它的第 i i i 个元素 p r i c e s i pricesi pricesi 表示一支给定股票第 i i i 天的价格。

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

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

数据约束

  • 1 ≤ p r i c e s . l e n g t h ≤ 1 0 5 1 \le prices.length \le 10 ^ 5 1≤prices.length≤105
  • 0 ≤ p r i c e s i ≤ 1 0 4 0 \le pricesi \le 10 ^ 4 0≤pricesi≤104

解题过程

整体是贪心算法,思想是维护好前缀最小值,然后不断更新最大差值即可。

具体实现

java 复制代码
class Solution {
    public int maxProfit(int[] prices) {
        int min = Integer.MAX_VALUE;
        int res = 0;
        for(int price : prices) {
            res = Math.max(res, price - min);
            min = Math.min(min, price);
        }
        return res;
    }
}
相关推荐
203号居民11 小时前
LeetCode hot 100 — 25. K 个一组翻转链表
算法·leetcode·链表
ocean210311 小时前
2025-2026年AI算法与模型研发面试高频知识点洞察
人工智能·算法·面试
Nil20812 小时前
leetcode 78子集
数据结构·算法·leetcode
喜欢吃燃面12 小时前
深入 C++ STL:从 unordered_set与unordered_map到底层哈希表的原理与实现
数据结构·c++·散列表
en.en..12 小时前
Linux fork() 工作原理
数据结构·算法
地平线开发者13 小时前
bevformer算法模型详细解读
算法
liliangcsdn13 小时前
ICIR权重矩阵如何加权标准化为综合因子
算法
SDWAN_Cheap14 小时前
SD-WAN智能选路技术的算法与实现机制
算法·php·sdwan
不会就选b14 小时前
数据结构之树&&二叉树(二)
数据结构·算法
渡之15 小时前
ArduPilot (APM)滤波器之SlewLimiter 深度解析
算法