LeetCode Hot100 53.最大子数组和

题目描述

给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。

子数组是数组中的一个连续部分。

53. 最大子数组和 - 力扣(LeetCode)

思路

动态规划,维护一个变量pre记录遍历数组到此刻时的最大子数组和,如果num+pre<num,那么从num重新开始一个子数组

考虑到子数组中可能有负数,初始化max=nums0

代码

java 复制代码
class Solution {
    public int maxSubArray(int[] nums) {
        int max=nums[0];
        int pre=0;
        for(int num:nums){
            pre=Math.max(num,pre+num);
            max=Math.max(max,pre);
        }
        return max;
    }
}
相关推荐
地平线开发者9 小时前
J6B vio scenario sample
算法
BothSavage21 小时前
Trae远程开发中DeepSeek自定义模型4054错误的排查与修复
算法
小林ixn21 小时前
从暴力到KMP:一道题彻底搞懂字符串匹配的前世今生
算法
烬羽1 天前
字符串算法入门:从反转字符串到回文判断,面试不再慌
算法·面试
先吃饱再说2 天前
判断回文字符串,从一行代码到双指针优化
算法
黄敬峰2 天前
深入理解算法核心:从递归思想、数组扁平化到快速排序
算法
得物技术2 天前
从狂野代码到按目标生产:得物推荐 AI Harness 的工程化实践|AICon 演讲整理
人工智能·算法·架构
AI小老六2 天前
SkillOpt 架构拆解:把 Skill 文本当参数,用执行轨迹训练 Agent
后端·算法·ai编程