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