最大子序和
TIP
给你一个整数数组 nums
,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
子数组 是数组中的一个连续部分。
思路
- dp[i]是以i元素结尾的连续子数组的最大和
js
var maxSubArray = function(nums) {
if(nums.length===1) return nums[0]
let dp = Array(nums.length+1).fill(0)
dp[0] = nums[0]
let res = dp[0]
for(let i=1;i<nums.length;i++){
dp[i] = Math.max(nums[i],dp[i-1]+nums[i])
if(dp[i]>res) res = dp[i]
}
return res
};