力扣地址
https://leetcode-cn.com/problems/maximum-subarray/solution/
几种解法
贪心算法
思路
初始化一个累加数,一个总数,不断进行循环;
1 判断当前与历史累加当前大小关系,如果当前更大,说明需要从此开始累计,前面累值取消;否则 取累加之后的总值。
2 判断最大值,与总数的关系,取较大值。
流程图
代码
/*** @param {number[]} nums* @return {number}*/var maxSubArray = function(nums) {let maxSum = (sum = nums[0]);for (let i = 1; i < nums.length; ++i) {sum = Math.max(nums[i], sum + nums[i]);maxSum = Math.max(maxSum, sum);}return maxSum;};
