力扣--LCR 53.最大数组和

题目

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

子数组

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

示例 1:

输入:nums = [-2,1,-3,4,-1,2,1,-5,4]

输出:6

解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。

示例 2:

输入:nums = [1]

输出:1

示例 3:

输入:nums = [5,4,-1,7,8]

输出:23

提示:

复制代码
1 <= nums.length <= 105
-104 <= nums[i] <= 104

代码

class Solution {

public int maxSubArray(int[] nums) {

int dp = nums[0];

int max = nums[0];

// 刷新dp之前,dp相当于是 dp[i-1],刷新之后,Dp就是dp[i]

for(int i = 1; i < nums.length; i++){

dp = Math.max(dp + nums[i], nums[i]);

max = Math.max(max, dp);

}

复制代码
    return max;
}

}

时间复杂度:O(n)

空间复杂度:O(1)

相关推荐
三维重建-光栅投影34 分钟前
VS中将cuda项目编译为DLL并调用
算法
课堂剪切板3 小时前
ch03 部分题目思路
算法
山登绝顶我为峰 3(^v^)34 小时前
如何录制带备注的演示文稿(LaTex Beamer + Pympress)
c++·线性代数·算法·计算机·密码学·音视频·latex
Two_brushes.5 小时前
【算法】宽度优先遍历BFS
算法·leetcode·哈希算法·宽度优先
森焱森7 小时前
水下航行器外形分类详解
c语言·单片机·算法·架构·无人机
QuantumStack9 小时前
【C++ 真题】P1104 生日
开发语言·c++·算法
写个博客10 小时前
暑假算法日记第一天
算法
绿皮的猪猪侠10 小时前
算法笔记上机训练实战指南刷题
笔记·算法·pta·上机·浙大
hie9889410 小时前
MATLAB锂离子电池伪二维(P2D)模型实现
人工智能·算法·matlab
杰克尼10 小时前
BM5 合并k个已排序的链表
数据结构·算法·链表