欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

LeetCode刷题笔记字节每日打卡最大子数组和

时间:2023-06-09

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

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

示例 1:

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

参数:力扣 


动态规划

设置fi为第i个数结尾的连续数组最大和

要求的答案:

fi的求法

发现只用到f(i)和f(i-1)即用两个变量即可

class Solution { public int maxSubArray(int[] nums) { int l = nums.length; int max=Integer.MIN_VALUE; int pre=0,cur=0; for(int num:nums){ cur=num; cur=Math.max(cur,pre+cur); max=Math.max(max,cur); pre=cur; } return max; }}

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。