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=nums0;

int zres=0;

for(int num :nums){

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

}else{

zres=num;

}

res=Math.max(zres,res);

}

return res; }}

相关推荐
IT猿手2 分钟前
多目标优化算法:多目标蛇优化算法(Multiple Objective Snake Optimizer,MOSO)(提供MATLAB代码)
开发语言·算法·matlab·动态路径规划·光伏模型参数估计
MegaDataFlowers20 分钟前
101.对称二叉树
算法
Jasmine_llq38 分钟前
《B3939 [GESP样题 四级] 绝对素数》
数据结构·算法·素数判断算法·数字拆分与反转算法·区间遍历枚举·双条件判断逻辑
郝学胜-神的一滴1 小时前
干货版《算法导论》07:递归视角下的选择排序与归并排序
java·数据结构·c++·python·程序人生·算法·排序算法
csdn_aspnet1 小时前
javascript 算法 LeetCode 编号 70 - 爬楼梯
开发语言·javascript·算法·leetcode·ecmascript
shehuiyuelaiyuehao1 小时前
多线程入门
java·python·算法
Navigator_Z1 小时前
LeetCode //C - 1073. Adding Two Negabinary Numbers
c语言·算法·leetcode
醇氧1 小时前
【OpenClaw】更换阿里百炼完整配置指南
算法·ai
Tina学编程1 小时前
[HOT100]每日一练------最长连续序列
算法·hot 100
csdn_aspnet2 小时前
PHP 算法 LeetCode 编号 70 - 爬楼梯
算法·leetcode·php