เรามีอาร์เรย์ของอาร์เรย์ที่มีตัวเลขอยู่จำนวนหนึ่ง เราต้องเขียนฟังก์ชันที่คืนค่าการรับในอาร์เรย์นั้นและคืนค่าดัชนีของอาร์เรย์ย่อยที่มีผลรวมสูงสุด หากมีอาร์เรย์ย่อยมากกว่าหนึ่งรายการมีผลรวมสูงสุดเท่ากัน เราต้อง คืนค่าดัชนีของ subbarray แรกดังกล่าว
ดังนั้น เรามาเขียนโค้ดสำหรับสิ่งนี้กัน −
ตัวอย่าง
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