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

ผลรวมของอาร์เรย์ย่อยความยาวคี่ที่เป็นไปได้ทั้งหมดใน JavaScript


เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของจำนวนเต็มเป็นอาร์กิวเมนต์เท่านั้น

อันดับแรก ฟังก์ชันควรเปลี่ยนอาร์เรย์ย่อยที่เป็นไปได้ทั้งหมดจากอาร์เรย์ดั้งเดิมที่มีความยาวคี่ จากนั้นฟังก์ชันควรหาผลรวมขององค์ประกอบทั้งหมดของอาร์เรย์ย่อยเหล่านั้นและส่งกลับผลรวม

ตัวอย่างเช่น −

หากอาร์เรย์อินพุตเป็น −

const arr = [1, 2, 3];

จากนั้นผลลัพธ์ควรเป็น −

const output = 12;

เนื่องจากอาร์เรย์ย่อยที่ต้องการคือ [1], [2], [3], [1, 2, 3]

ตัวอย่าง

ต่อไปนี้เป็นรหัส -

const arr1 = [1, 2, 3];
const arr2 = [1, 2, 3, 4, 5, 6];
const sumOfOddLengthSubarrays = (arr = []) => {
   let res = 0;
   for(let i = 0; i < arr.length; i++){
      let sum = 0;
      for(let j = i; j < arr.length; j++){
         sum += arr[j];
         if (((j - i + 1) & 1) === 0) {
            continue;
         };
         res += sum;
      }
   };
   return res;
};
console.log(sumOfOddLengthSubarrays(arr1));
console.log(sumOfOddLengthSubarrays(arr2));

ผลลัพธ์

ต่อไปนี้เป็นเอาต์พุตคอนโซล -

12
98