Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Trả về mảng con có tổng lớn nhất trong mảng 2 chiều JavaScript

Cho mảng các mảng số, viết hàm trả về chỉ số mảng con có tổng lớn nhất. Nếu nhiều mảng con cùng tổng max, trả về chỉ số mảng đầu tiên.

Ví dụ

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));

Kết quả

Đầu ra trong console sẽ là:

3