Giả sử chúng ta có một số mảng chỉ lưu trữ 1 và 2 trong đó. Chúng ta phải kiểm tra xem mảng có thể được chia thành hai phần khác nhau sao cho tổng các phần tử trong mỗi phần là như nhau hay không.
Vì vậy, nếu đầu vào là nums =[1, 1, 2, 2, 2], thì đầu ra sẽ là True vì chúng ta có thể chia mảng này như [1, 1, 2] và [2, 2] thành tổng của mỗi phần là 4.
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
- tổng số:=0, one_count:=0
- total:=tổng của tất cả các phần tử của nums
- one_count:=đếm 1s tính bằng nums
- nếu tổng số là số chẵn thì
- trả về Sai
- nếu phần nguyên của (tổng / 2) là chẵn, thì
- trả về True
- nếu one_count> 0, thì
- trả về True
- nếu không,
- trả về Sai
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
Ví dụ
def solve(nums): total = 0 one_count = 0 total = sum(nums) one_count = nums.count(1) if total % 2: return False if (total // 2) % 2 == 0: return True if one_count > 0: return True else: return False nums = [1, 1, 2, 2, 2] print(solve(nums))
Đầu vào
[1, 1, 2, 2, 2]
Đầu ra
True