当前位置: 首页 > article >正文

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

问题背景

给定一个数组 p r i c e s prices prices,它的第 i i i 个元素 p r i c e s [ i ] prices[i] prices[i] 表示一支给定股票第 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 1prices.length105
  • 0 ≤ p r i c e s [ i ] ≤ 1 0 4 0 \le prices[i] \le 10 ^ 4 0prices[i]104

解题过程

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

具体实现

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;
    }
}

http://www.kler.cn/a/508515.html

相关文章:

  • ZooKeeper 核心知识全解析:架构、角色、节点与应用
  • 浅谈云计算14 | 云存储技术
  • 【Docker】使用Dev Container进行开发
  • 【C++基础】enum,union,uint8_t,static
  • 用 Python 自动化处理日常任务
  • 接口测试自动化实战(超详细的)
  • 在职研生活学习--20250109~管理经济学
  • 智能新浪潮:亚马逊云科技发布Amazon Nova模型
  • 几个Linux系统安装体验(续): 银河麒麟桌面系统
  • redis 的 SDS 内存分配
  • salesforce flow如何实现延时
  • qBittorent访问webui时提示unauthorized解决方法
  • 使用 Java 实现基于 DFA 算法的敏感词检测
  • doris:导入概览
  • 【大数据】机器学习----------集成学习
  • mysql之联合索引
  • 【数据分析与可视化】Python绘制数据地图-GeoPandas地图可视化
  • 【STM32-学习笔记-10-】BKP备份寄存器+时间戳
  • 【自然语言处理】BERT系列模型-详解
  • 使用 electron-builder 构建一个 Electron 应用程序 常见问题以及解决办法
  • 东芝e-STUDIO2829A复印机提示“维护”该如何操作
  • js实现数据结构
  • 掌握Linux系统优化的技巧:提升服务器性能的指南
  • 模之屋模型导入到UE5
  • XML、HTML 和 JSON 的区别与联系
  • React第二十二章(useDebugValue)