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

题目:

暴力双循环会时间超限

一次循环,不断更新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 分钟前
LeetCode 49.字母异位组合 C++解法
数据结构·算法·leetcode
Tan_Ying_Y20 分钟前
Mybatis的mapper文件中#和$的区别
java·tomcat·mybatis
难以触及的高度21 分钟前
Java for循环完全指南:从基础到高性能实践
java·开发语言
sheji341629 分钟前
【开题答辩全过程】以 农产品销售系统为例,包含答辩的问题和答案
java·eclipse
budingxiaomoli38 分钟前
多线程(三)
java·开发语言
klzdwydz1 小时前
注解与反射
java·开发语言
talenteddriver1 小时前
java: 分页查询(自用笔记)
java·开发语言
enjoy编程1 小时前
Spring-AI 利用KeywordMetadataEnricher & SummaryMetadataEnricher 构建文本智能元数据
java·人工智能·spring
繁华似锦respect1 小时前
lambda表达式中的循环引用问题详解
java·开发语言·c++·单例模式·设计模式·哈希算法·散列表
ModestCoder_1 小时前
强化学习 Policy 的 Tracking 能力全解析,以Legged_gym为例解说Policy的训练流程
人工智能·算法·自然语言处理·机器人·具身智能