Leetcode - 121. 买卖股票的最佳时机

解题思路参考代码中的注释:
class Solution {
    public int maxProfit(int[] prices) {
        int length = prices.length;
        
        // 当前找到的价格的最小值
        int minPrice = prices[0];

        // 当前找到的最大收益
        int maxProfit = 0;
        
        // 从第二个元素开始遍历数组
        for (int i = 1; i < length; i++) {
            
            // 如果当前价格比历史最低价格还低,则更新minPrice
            if (prices[i] <= minPrice) {
                minPrice = prices[i];
            
            // 否则判断在此时的卖出的收益是否大于已发现的最大收益,如果是,则更新maxProfit
            } else {
                maxProfit = Math.max(maxProfit, prices[i] - minPrice);
            }
        }
        return maxProfit;
    }
}
全部评论

相关推荐

在打卡的大老虎很想潜...:你在找实习,没啥实习经历,技术栈放前面,项目多就分两页写,太紧凑了,项目你最多写两个,讲清楚就行,项目背景。用到的技术栈、亮点、难点如何解决,人工智能进面太难了,需求少。你可以加最新大模型的东西
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务