给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
    示例1:

    1. 输入:nums = [-2,1,-3,4,-1,2,1,-5,4]
    2. 输出:6
    3. 解释:连续子数组 [4,-1,2,1] 的和最大,为 6

    题解:
    首先考虑一个问题就是连续子数组的最大和,如果前两个的最大和,比加上第三个还小一点, 那么直接抛弃前两个的和,从第三个开始计算,这样就很方便的得出代码结果

    1. /**
    2. * @param {number[]} nums
    3. * @return {number}
    4. */
    5. var maxSubArray = function(nums) {
    6. let pre = 0, maxAns = nums[0];
    7. nums.forEach((x) => {
    8. pre = Math.max(pre + x, x);
    9. maxAns = Math.max(maxAns, pre);
    10. });
    11. return maxAns;
    12. };