我们需要编写一个包含数字数组的JavaScript函数。数字数组可以包含正数和负数。
我们函数的目的是从数组(任何长度)中找到子数组,子元素的总和给出最大和。然后,该函数应返回该子数组元素的总和。
例如-
如果输入数组是-
const arr = [-2,1,-3,4,-1,2,1,-5,4];
那么输出应该是-
const output = 6
因为[4,-1,2,1]的最大和为6。
const arr = [-2,1,-3,4,-1,2,1,-5,4];
const maxSubArray = (arr = []) => {
let sum = arr[0], max = arr[0];
for (let i = 1; i < arr.length; ++i){
sum = Math.max(sum + arr[i], arr[i]), max = Math.max(max, sum);
};
return max;
};
console.log(maxSubArray(arr));输出结果
控制台中的输出将是-
6