Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Phân chia mảng I trong Python


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