เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่ใช้อาร์เรย์ของตัวเลขที่มีความยาว N (N ควรเป็นคู่) และแบ่งอาร์เรย์ออกเป็นสองอาร์เรย์ย่อย (ซ้ายและขวา) ที่มีองค์ประกอบ N/2 แต่ละรายการ และทำผลรวมของ อาร์เรย์ย่อยแล้วคูณอาร์เรย์ย่อยทั้งสอง
ตัวอย่างเช่น หากอาร์เรย์อินพุตเป็น −
const arr = [1, 2, 3, 4]
จากนั้นผลลัพธ์ควรเป็น −
(2+1) * (3+4) = 21
ตัวอย่าง
ต่อไปนี้เป็นรหัส -
const arr = [1, 2, 3, 4]
const subArrayProduct = arr => {
const { length: l } = arr;
const creds = arr.reduce((acc, val, ind) => {
let { left, right } = acc;
if(ind < l/2){
left += val;
}else{
right += val;
}
return { left, right };
}, {
left: 0,
right: 0
});
return creds.left * creds.right;
};
console.log(subArrayProduct(arr)); ผลลัพธ์
ต่อไปนี้เป็นผลลัพธ์ในคอนโซล -
21