最佳买股票的时机------题解报告

题目:

暴力双循环会时间超限

一次循环,不断更新min和sum值

时间复杂度为O(n),空间复杂度为O(1)

写完之后看了一眼题解,发现没有更好的方法

java 复制代码
 public int maxProfit(int[] prices) {
        int sum =0,min=prices[0];
        for(int i=1;i <prices.length;i++)
        {
            min=Math.min(min,prices[i]);
            if(prices[i]-min>sum)
            {
                sum=prices[i]-min;
            }
        }
        return sum;
    }
相关推荐
NAGNIP7 分钟前
一文搞懂激活函数!
算法·面试
董董灿是个攻城狮27 分钟前
AI 视觉连载7:传统 CV 之高斯滤波实战
算法
日月云棠6 小时前
各版本JDK对比:JDK 25 特性详解
java
爱理财的程序媛6 小时前
openclaw 盯盘实践
算法
用户8307196840827 小时前
Spring Boot 项目中日期处理的最佳实践
java·spring boot
JavaGuide7 小时前
Claude Opus 4.6 真的用不起了!我换成了国产 M2.5,实测真香!!
java·spring·ai·claude code
IT探险家7 小时前
Java 基本数据类型:8 种原始类型 + 数组 + 6 个新手必踩的坑
java
花花无缺7 小时前
搞懂new 关键字(构造函数)和 .builder() 模式(建造者模式)创建对象
java
用户908324602738 小时前
Spring Boot + MyBatis-Plus 多租户实战:从数据隔离到权限控制的完整方案
java·后端