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

Xác định người thắng trò chơi xóa phần tử tối đa và bên phải trong Python

Amal và Bimal chơi với mảng nums. Bimal đi trước. Mỗi lượt xóa phần tử lớn nhất và tất cả phần tử bên phải nó. Người xóa hết mảng thắng.

Ví dụ: nums=[5,2,6,3,4] → Amal thắng (Bimal xóa 6,3,4; Amal xóa 5,2).

Giải thuật

  • Đếm số lần xuất hiện giá trị mới lớn nhất khi duyệt từ trái sang phải (số "record breakers").
  • Nếu số lượng chẵn → Amal thắng, lẻ → Bimal thắng.

Ví dụ mã Python

def solve(nums):
    maximum = -1
    count = 0
    for a in nums:
        if a > maximum:
            count += 1
            maximum = a
    return "Amal" if count % 2 == 0 else "Bimal"

nums = [5, 2, 6, 3, 4]
print(solve(nums))  # Output: Amal

Đầu vào

[5,2,6,3,4]

Đầu ra

Amal