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

Kiểm tra mảng có phần tử bằng tổng các phần tử còn lại trong Python

Cho mảng nums. Kiểm tra xem có tồn tại phần tử nào mà giá trị của nó bằng tổng của tất cả các phần tử còn lại hay không.

Ví dụ: [3,2,10,4,1] → 10 = 3+2+4+1 → True.

Giải thuật

  • Tính tổng tất cả phần tử total.
  • Nếu total chẵn và tồn tại phần tử có giá trị total/2 trong mảng → True.

Mã ví dụ

from collections import defaultdict

def solve(nums):
    freq = defaultdict(int)
    total = 0
    for i in range(len(nums)):
        freq[nums[i]] += 1
        total += nums[i]
    if total % 2 == 0:
        if freq[total // 2]:
            return True
    return False

nums = [3,2,10,4,1]
print(solve(nums))

Đầu vào

[3,2,10,4,1]

Đầu ra

True