We need to find the contiguous subarray sum which has the largest sum.
Example:
_
Input: nums = [-2,1,-3,4,-1,2,1,-5,4]
Output: 6
Explanation: [4,-1,2,1] has the largest sum = 6.
_
Here is the code:
function maxSubArray(nums) {
let max = -Infinity;
let sum = 0;
for (let i = 0; i < nums.length; i++) {
sum = sum + nums[i];
if (max < sum) max = sum;
if (sum < 0) sum = 0;
}
return max;
};
Please provide any simplified solution you have.
Thanks.
Top comments (3)
Alternative approach making use of the functions available in JavaScript:
Cheers!
I see you are a big fan of reduce. This functional is pretty powerful.
Not a fan of
reduce
, it just makes sense for this. For stuff like this, sums and multiplications, is better to use reduce.