题目描述:
image.png解法:动态规划
/**
* @param {number[]} nums
* @return {number}
*/
var maxSubArray = function(nums) {
let max = nums[0];
let dp = [];
dp[0] = nums[0];
for (let i = 1; i < nums.length; i++) {
dp[i] = Math.max(dp[i - 1] + nums[i], nums[i]);
max = Math.max(max, dp[i])
}
return max;
};
或者
/**
* @param {number[]} nums
* @return {number}
*/
var maxSubArray = function(nums) {
let ans = nums[0];
let sum = 0;
for(let i = 0; i < nums.length; i++) {
if (sum > 0) {
sum += nums[i]
} else {
sum = nums[i]
}
ans = Math.max(ans, sum)
}
return ans;
}
网友评论