Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

ผลรวม subarray ซ้ายขวา - JavaScript


เราจำเป็นต้องเขียนฟังก์ชัน 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