Cho mảng 2n số nguyên. Nhóm thành n cặp (a1,b1)...(an,bn) sao cho tổng min(ai,bi) lớn nhất. Ví dụ: [1,4,3,2] → 4 (cặp (1,2) và (3,4), min là 1+3=4).
Giải pháp
Sắp xếp mảng, sau đó lấy tổng các phần tử ở vị trí chẵn (0,2,4...).
- n = độ dài mảng.
- Sắp xếp mảng.
- ans = 0.
- Với i từ 0 đến n-1, bước nhảy 2: ans += array[i].
- Trả về ans.
Ví dụ
Triển khai Python:
class Solution(object):
def arrayPairSum(self, a):
n = len(a)
a.sort()
ans = 0
for i in range(0,n,2):
ans += a[i]
return ans
ob1 = Solution()
print(ob1.arrayPairSum([1,4,3,2])) Đầu vào
[1,4,3,2]
Đầu ra
4