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

Trò chơi của Bob trong Python

Bob có danh sách nums. Mỗi lượt, chọn 2 phần tử thay bằng 1 số nguyên dương có tổng bằng tổng 2 số đó. Thắng khi tất cả số đều chẵn. Tìm số lượt tối thiểu, hoặc -1 nếu không thể.

Ví dụ: [2, 3, 4, 9, 7, 13] → 2 (ghép 3+9=12, 7+13=20).

Các bước giải quyết

  • a = danh sách chỉ chứa số lẻ từ nums
  • Nếu độ dài a chẵn → trả về len(a)//2
  • Ngược lại → trả về -1

Ví dụ mã Python

class Solution:
    def solve(self, nums):
        a = [x for x in nums if x % 2 == 1]
        if len(a) % 2 == 0:
            return len(a) // 2
        return -1

ob = Solution()
print(ob.solve([2, 3, 4, 9, 7, 13]))

Đầu vào

[2, 3, 4, 9, 7, 13]

Đầu ra

2