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

题目:

暴力双循环会时间超限

一次循环,不断更新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;
    }
相关推荐
机器人零零壹3 小时前
技术白皮书:iRobotCAM如何解决机器人激光切割应用中的核心难点,从CAD离线编程到双目视觉定位与轨迹自适应提升复杂空间曲线切割的精度、效率与柔性化水平
人工智能·算法
AI你一生一世4 小时前
不止于时序存储:DolphinDB 如何成为 AI 时代的工业智能底座
java·人工智能·struts·时序数据库·工业智能·dolphindb·ai基础设施
云-缩影4 小时前
拆解 AI 图像生成应用的后端架构:ECS、OSS 和大模型 API 怎么配合
java·spring boot·后端
瑞克-桑切斯5 小时前
7、MySQL 慢查询排查与优化实战指南
java·服务器·数据库
ZhengEnCi5 小时前
大模型的分类到底怎么分:从基础模型到推理模型、从通用到专用的完整图谱
算法
取名真是6 小时前
Python 算法知识点从基础到进阶
开发语言·python·算法
罗西的思考7 小时前
【轻量化复刻大模型 / KIMI K3】KDA 模块交互式演示
人工智能·算法·机器学习
nm_zfyjt9 小时前
信息流广告投放优化实践:线索成本评估模型与转化链路重构(家装建材案例)
算法·重构·内蒙古朋友圈广告服务商·内蒙古朋友圈获客
海的透彻9 小时前
dockerfile如何快速构建容器(java服务)
java·开发语言
code2cat9 小时前
Java工具篇之Gradle:用任务图组织构建与交付
java·开发语言·单元测试·gradle