ปัญหา
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของตัวเลข arr เป็นอาร์กิวเมนต์แรกและอาร์กิวเมนต์เดียว
หน้าที่ของฟังก์ชันของเราคือนับจำนวนแฝดสามที่เลือกจากอาร์เรย์ที่สามารถสร้างสามเหลี่ยมได้หากเรานำมันเป็นความยาวด้านของสามเหลี่ยม
ตัวอย่างเช่น หากอินพุตของฟังก์ชันคือ −
const arr = [2, 2, 3, 4];
จากนั้นผลลัพธ์ควรเป็น −
const output = 3;
คำอธิบายผลลัพธ์
ชุดค่าผสมที่ถูกต้องคือ:
2,3,4 (using the first 2) 2,3,4 (using the second 2) 2,2,3
ตัวอย่าง
ต่อไปนี้เป็นรหัส -
const arr = [2, 2, 3, 4];
const countTriangle = (arr = []) => {
arr.sort((a, b) => a - b)
let k = 2
let count = 0
for (let i = 0; i < arr.length - 2; i++) {
for (let j = i + 1; j < arr.length - 1; j++) {
k = j + 1
while (arr[k] < arr[i] + arr[j]) {
k += 1
}
count += k - j - 1
}
}
return count
};
console.log(countTriangle(arr)); ผลลัพธ์
ต่อไปนี้เป็นเอาต์พุตคอนโซล -
3