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

บรรลุผลรวมคู่สูงสุดที่เป็นไปได้ใน JavaScript


ปัญหา

เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของจำนวนเต็ม arr ซึ่งมีความยาว 2n เป็นอาร์กิวเมนต์แรกและอาร์กิวเมนต์เดียว

งานของฟังก์ชันของเราคือการจัดกลุ่มจำนวนเต็มเหล่านี้เป็นจำนวนเต็ม n คู่ พูด (a1, b1), (a2, b2), ..., (an, bn) ซึ่งรวม min(ai, bi) ทั้งหมด ฉันจาก 1 ถึง n ใหญ่ที่สุดเท่าที่เป็นไปได้

ตัวอย่างเช่น หากอินพุตของฟังก์ชันคือ −

const arr = [1, 4, 3, 2];

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

const output = 4;

คำอธิบายผลลัพธ์

n คือ 2 และผลรวมสูงสุดของคู่คือ 4 =min(1, 2) + min(3, 4).

ตัวอย่าง

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

const arr = [1, 4, 3, 2];
const pairSum = (arr = []) => {
   arr.sort((a, b) => a - b)
   let sum = 0
   for (let i = 0; i < arr.length; i += 2) {
      sum += Math.min(arr[i], arr[i + 1])
   }
   return sum
}
console.log(pairSum(arr));

ผลลัพธ์

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

4