53. 最大子数组和

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

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

示例 1:

复制代码
输入:nums = [-2,1,-3,4,-1,2,1,-5,4]
输出:6
解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。

示例 2:

复制代码
输入:nums = [1]
输出:1

解析:动态规划,记录上一次结果

res是最终的结果

zres是当前最大结果

首先肯定是从【0】开始,每次都记住上一次的结果zres,如果大于0,说明上一次结果是有益的,就加上,如果小于0,就可以进行抛弃,从当前点向后继续遍历。

class Solution {

public int maxSubArray(int[] nums) {

int res=nums[0];

int zres=0;

for(int num :nums){

if(zres>0){zres+=num;

}else{

zres=num;

}

res=Math.max(zres,res);

}

return res; }}

相关推荐
明明如月学长1 小时前
什么你不知道 Cherry Studio 有快捷助手?
算法
Vegetable_Dragon1 小时前
数论1.01
算法
Star在努力1 小时前
15-C语言:第15天笔记
c语言·笔记·算法
我有一计3332 小时前
【算法笔记】5.LeetCode-Hot100-矩阵专项
人工智能·算法·程序员
行然梦实2 小时前
KnEA(Knee-point-driven Evolutionary Algorithm)简介
人工智能·算法·机器学习
qq_513970442 小时前
力扣 hot100 Day58
算法·leetcode
liulilittle3 小时前
DDD领域驱动中瘦模型与富态模型的核心区别
开发语言·c++·算法·ddd·领域驱动·思想
Das13 小时前
【初识数据结构】CS61B 中的归并排序和选择排序
数据结构·算法·排序算法
竹子_236 小时前
二分法详解:用生活例子 + 图示
python·算法·生活
用户4822137167756 小时前
Python——正则表达式(字符匹配-贪婪模式)
算法