题目描述:
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
var maxSubArray = function(nums) {
const memo = [];
memo[0] = nums[0]
if(nums.length===1){
return memo[0]
}
for(let i=1; i<nums.length; i++){
memo[i] = Math.max(nums[i]+memo[i-1],nums[i])
}
let max = memo[0]
for(let i=1;i<memo.length;++i){
max = Math.max(max,memo[i])
}
return max
};
再优化一下~~~~
var maxSubArray = function(nums) {
const memo = [];
memo[0] = nums[0]
let max = memo[0]
if(nums.length===1){
return memo[0]
}
for(let i=1; i<nums.length; i++){
memo[i] = Math.max(nums[i]+memo[i-1],nums[i])
max = Math.max(max,memo[i])
}
return max
};