我们需要编写一个包含数字数组的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