用 JavaScript 返回数组间最大的数组


我们有一个包含一些数字的数组数组,我们必须编写一个函数,该函数采用该数组并返回具有最大和的子数组的索引。如果多个子数组具有相同最大和,则我们必须返回第一个此类子数组的索引。

因此,让我们为此编写代码 −

示例

const arr = [[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000,
1001, 857, 1]];
const findMaxSubArray = (arr) => {
   const add = (array) => array.reduce((acc, val) => acc+val);
   return arr.reduce((acc, val, ind) => {
      const sum = add(val);
      if(sum > acc.sum){
         return {
            index: ind,
            sum
         }
      };
      return acc;
   }, {
      index: -1,
      sum: -Infinity
   }).index;
};
console.log(findMaxSubArray(arr));

输出

控制台输出将如下所示 −

3

更新于: 24-8-2020

304 次浏览

开启你的 职业生涯

完成课程获得认证

开始
广告