/** * @param {number[]}nums * @return {number} */ var maxSubArray = function (nums) { let result = nums[0]; for (let i = 0; i < nums.length; i++) { let max = nums[i]; let add = nums[i]; for (let j = i + 1; j < nums.length; j++) { add += nums[j]; max = Math.max(max, add); } result = Math.max(result, max); } return result; };
动态规划:
1 2 3 4 5 6 7 8 9 10 11 12 13
var maxSubArray = function (nums) { let result = nums[0]; let sum = 0; for (let i = 0; i < nums.length; i++) { if (sum > 0) { sum += nums[i]; } else { sum = nums[i]; } result = Math.max(result, sum); } return result; };