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