力扣--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)

相关推荐
DC...18 分钟前
【力控】混合位置 / 力控制
算法·机器人·力控
Rabitebla20 分钟前
归并排序(MergeSort)完全指南 —— 从原理到非递归实现
c语言·数据结构·c++·算法·排序算法
WBluuue23 分钟前
Codeforces Educational 188(ABCDEF)
c++·算法
AI成长日志28 分钟前
【笔面试算法学习专栏】双指针专题:简单难度三题精讲(167.两数之和II、283.移动零、344.反转字符串)
学习·算法·面试
Book思议-32 分钟前
【数据结构】数组与特殊矩阵
数据结构·算法·矩阵
不吃蘑菇!1 小时前
LeetCode Hot 100-1(两数之和)
java·数据结构·算法·leetcode·哈希表
paeamecium1 小时前
【PAT甲级真题】- Linked List Sorting (25)
数据结构·c++·算法·pat考试·pat
96771 小时前
C++ Lambda 表达式 匿名函数 sort
数据结构·c++·算法
codeの诱惑1 小时前
推荐算法(二):核心概念——余弦定理 & 余弦相似度
算法·机器学习·推荐算法
liuyao_xianhui1 小时前
优选算法_锯齿形层序遍历二叉树_队列_C++
java·开发语言·数据结构·c++·算法·链表