Giả sử chúng ta có một mảng gọi là nums, chúng ta phải kiểm tra xem mảng có chứa một phần tử có giá trị bằng tổng của tất cả các phần tử khác hay không.
Vì vậy, nếu đầu vào giống như nums =[3,2,10,4,1], thì đầu ra sẽ là True, 10 =(3 + 2 + 4 + 1).
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
- freq:=một bản đồ trống
- tổng số:=0
- đối với tôi trong phạm vi từ 0 đến kích thước là nums - 1, thực hiện
- freq [nums [i]]:=freq [nums [i]] + 1
- tổng số:=total + nums [i]
- nếu tổng số là số chẵn thì
- nếu freq [quotient of (total / 2)] khác 0, thì
- trả về True
- nếu freq [quotient of (total / 2)] khác 0, thì
- trả về Sai
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
Mã mẫu
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