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; }}

相关推荐
hh随便起个名9 分钟前
力扣二叉树的三种遍历
javascript·数据结构·算法·leetcode
Dingdangcat862 小时前
城市交通多目标检测系统:YOLO11-MAN-FasterCGLU算法优化与实战应用_3
算法·目标检测·目标跟踪
tang&2 小时前
滑动窗口:双指针的优雅舞步,征服连续区间问题的利器
数据结构·算法·哈希算法·滑动窗口
拼命鼠鼠2 小时前
【算法】矩阵链乘法的动态规划算法
算法·矩阵·动态规划
LYFlied2 小时前
【每日算法】LeetCode 17. 电话号码的字母组合
前端·算法·leetcode·面试·职场和发展
式5163 小时前
线性代数(八)非齐次方程组的解的结构
线性代数·算法·机器学习
橘颂TA4 小时前
【剑斩OFFER】算法的暴力美学——翻转对
算法·排序算法·结构与算法
叠叠乐4 小时前
robot_state_publisher 参数
java·前端·算法
hweiyu004 小时前
排序算法:冒泡排序
算法·排序算法
brave and determined4 小时前
CANN训练营 学习(day9)昇腾AscendC算子开发实战:从零到性能冠军
人工智能·算法·机器学习·ai·开发环境·算子开发·昇腾ai