เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของ Numbers เท่านั้น ฟังก์ชันควรเตรียมอาร์เรย์ขององค์ประกอบดังกล่าวสามรายการจากอาร์เรย์ที่ให้ผลผลิตมากที่สุดในบรรดาองค์ประกอบสามองค์ประกอบใดๆ ของอาร์เรย์ ในที่สุดฟังก์ชันควรส่งคืนผลคูณขององค์ประกอบทั้งสามนั้น
ตัวอย่างเช่น −
หากอาร์เรย์อินพุตเป็น −
const arr = [-10, 7, 29, 30, 5, -10, -70];
จากนั้นผลลัพธ์ควรเป็น −
const output = 21000
เพราะเลขสามตัวคือ 30, -10, -70
เราจะเห็นว่าอาร์เรย์สามารถหรืออาจจะมีองค์ประกอบเชิงลบ ดังนั้น ในกรณีเช่นนี้ ผลิตภัณฑ์สูงสุดจะมากกว่าของสองตัวนี้ −
min1 * min2 * max1 max1 * max2 * max3
ดังนั้นเราจะแก้มันแบบนี้
ตัวอย่าง
ต่อไปนี้เป็นรหัส -
const arr = [-10, 7, 29, 30, 5, -10, -70]; const threeProduct = (arr = []) => { const sorter = (a, b) => a -b; arr.sort(sorter); let pro1 = 1, pro2 = 1; let len = arr.length - 1; for (let i = len; i > len - 3; i--) { pro1 = pro1 * arr[i]; }; pro2 = arr[0] * arr[1] * arr[len]; return Math.max(pro1, pro2); } console.log(threeProduct(arr));
ผลลัพธ์
ต่อไปนี้เป็นผลลัพธ์บนคอนโซล -
21000