1. var maxSubArray = function(nums) {
    2. let maxSum = -Infinity;
    3. let dp = [], n = nums.length;
    4. for (let i = -1; i < n; i++) {
    5. dp[i] = 0;
    6. }
    7. for (let i = 0; i < n; i++) {
    8. dp[i] = Math.max(nums[i], dp[i - 1] + nums[i]);
    9. maxSum = Math.max(maxSum, dp[i]);
    10. }
    11. return maxSum;
    12. };
    1. var maxSubArray = function(nums) {
    2. let pre = 0, maxAns = nums[0];
    3. nums.forEach((x) => {
    4. pre = Math.max(pre + x, x);
    5. maxAns = Math.max(maxAns, pre);
    6. });
    7. return maxAns;
    8. };