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

题目:

暴力双循环会时间超限

一次循环,不断更新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;
    }
相关推荐
晚风吹红霞4 小时前
C++ stack 和 queue 完全指南:适配器模式与双端队列的奥秘
c++·算法·适配器模式
coder Ethan4 小时前
Spring AI 入门:(3)快速搭建一个简单的问答助手
java·人工智能·spring
屋外雨大,惊蛰出没4 小时前
starter的创建与引用
java·stater
小同志004 小时前
Spring Boot ⽇志概述(简单了解)
java·java-ee·日志
小马爱打代码4 小时前
SpringBoot + 延迟消息 + 时间轮:订单超时、优惠券过期等场景的高效实现方案
java·spring boot·后端
就叫_这个吧4 小时前
Java普通类、抽象类、接口的应用和区别
java·开发语言
梅孔立4 小时前
解决Nginx缓存不写入响应体问题:浏览器强制不缓存配置教程
java·开发语言·nginx·spring
casual~4 小时前
十六届蓝桥杯国赛个人题解
经验分享·学习·算法·蓝桥杯
he___H4 小时前
B、B+树和vue部分知识
数据结构·vue.js·b树
方也_arkling4 小时前
【Java-Day18】API篇-Arrays
java·算法·排序算法