Computer >> Máy Tính >  >> Lập trình >> Javascript

Đạt được tổng cặp tối đa có thể trong JavaScript

Vấn đề

Chúng tôi bắt buộc phải viết một hàm JavaScript nhận một mảng các số nguyên, arr, có độ bền 2n làm đối số đầu tiên và duy nhất.

Nhiệm vụ của hàm của chúng ta là nhóm các số nguyên này thành n cặp số nguyên, chẳng hạn (a1, b1), (a2, b2), ..., (an, bn) tạo thành tổng min (ai, bi) cho tất cả tôi từ 1 đến n càng lớn càng tốt.

Ví dụ:nếu đầu vào của hàm là -

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

Sau đó, đầu ra phải là -

const output = 4;

Giải thích đầu ra

n là 2 và tổng tối đa của các cặp là 4 =min (1, 2) + min (3, 4).

Ví dụ

Sau đây là mã -

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));

Đầu ra

Sau đây là đầu ra của bảng điều khiển -

4