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