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

相关推荐
星释7 小时前
Rust 练习册 :Pythagorean Triplet与数学算法
开发语言·算法·rust
星释7 小时前
Rust 练习册 :Nth Prime与素数算法
开发语言·算法·rust
多喝开水少熬夜8 小时前
Trie树相关算法题java实现
java·开发语言·算法
WBluuue8 小时前
数据结构与算法:树上倍增与LCA
数据结构·c++·算法
bruk_spp9 小时前
牛客网华为在线编程题
算法
黑屋里的马10 小时前
java的设计模式之桥接模式(Bridge)
java·算法·桥接模式
sin_hielo10 小时前
leetcode 1611
算法·leetcode
李小白杂货铺11 小时前
识别和破除信息茧房
算法·信息茧房·识别信息茧房·破除信息茧房·算法推荐型茧房·观点过滤型茧房·茧房
来荔枝一大筐11 小时前
C++ LeetCode 力扣刷题 541. 反转字符串 II
c++·算法·leetcode
暴风鱼划水12 小时前
算法题(Python)数组篇 | 6.区间和
python·算法·数组·区间和