/* * @Description: 53. Maximum Subarray * @Author: libk * @Github: https://github.com/libk */ /** * @param {number[]}nums * @return {number} */ const maxSubArray = function (nums) { let pre = 0 let maxSum = nums[0] const maxSubArr = [] let start = 0 let end = 0
for (let i = 0; i < nums.length; i++) { if (pre + nums[i] > nums[i]) { pre = pre + nums[i] if (pre > maxSum) { maxSum = pre end = i } } else { pre = nums[i] if (pre > maxSum) { maxSum = pre start = i end = i } } } maxSubArr = nums.slice(start, end + 1) console.log(maxSubArr) return maxSum }