在 Python 中查找数组移除游戏获胜者的程序

假设 Amal 和 Bimal 正在玩一个游戏,他们有一个数组 A,一些numbers.The游戏规则如下

  • Bimal 将始终启动

  • 在每一回合中,一名玩家从数组中删除最大的元素,并且删除元素右侧的所有其他元素也将被删除。

  • 他们交替玩耍

  • 移除所有剩余元素的玩家将赢得比赛。

因此,如果输入类似于 nums = [5,2,6,3,4],那么输出将是 Amal,因为首先 Bimal 将删除 [6,3,4],因此数组将是 [5,2],那么 Amal 将删除所有内容,因此他将成为赢家。

示例

让我们看看以下实现以获得更好的理解 -

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

nums = [5,2,6,3,4]
print(solve(nums))

输入

[5,2,6,3,4]
输出结果
Amal