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

题目:

暴力双循环会时间超限

一次循环,不断更新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;
    }
相关推荐
一条泥憨鱼21 分钟前
【Redis | 黑马点评】基于Redis的消息队列 | stream消息队列 源码解读
java·数据库·redis·缓存·lua
aibo86030824 分钟前
基于 Spring Boot + Vue3 的博物馆藏品管理系统设计与实现
java·spring boot·后端
fanruitian28 分钟前
python 进程 线程
java·前端·python
renhongxia131 分钟前
RAG检索增强生成:打通大模型与外部知识的通道
大数据·人工智能·算法
\光辉岁月/32 分钟前
javaSE8-新特性-Stream&Option
java·stream·option
zzu123zsw35 分钟前
把条件校验收敛到枚举接口:Spring Boot 统一断言模式与零污染异常切面工程化
java·spring boot·后端·架构设计
SL_staff38 分钟前
计划系统落地难?从开发者视角重构执行入口体验
java·开源·全栈
2501_9339232544 分钟前
双指针算法:移动零+复写零(Java)
数据结构·算法·双指针
和芯星通unicore1 小时前
卫星信号消失的地方,定位如何继续?——解密和芯星通DR 航位推算算法
人工智能·算法·gnss·智能驾驶gnss模块
鬼手点金1 小时前
单轮对话:最简单的 API 调用
java·服务器·前端·javascript·react.js·servlet·tomcat