Bob的Python游戏

假设我们有一个叫鲍勃的朋友,他正在和自己玩游戏。他给自己列出了一个数字,叫做nums。现在,鲍勃在每一回合中选择列表中的两个元素,并用一个与他选择的数字相同的总和的正整数替换它们。当数组中的所有数字均为偶数时,Bob宣布获胜。我们必须找到鲍勃要求的最小转弯次数,以便他可以宣布胜利,如果没有这样的解决方案,则返回-1。

因此,如果输入类似于[2、3、4、9、7、13],则输出将为2,因为他可以接受3,9,然后替换为12,然后接受7,13,然后替换为20。

为了解决这个问题,我们将遵循以下步骤-

  • a:=一个列表,仅从numes中获取奇数元素

  • 如果a的大小是奇数,则

    • 返回(a的大小)/ 2

  • 否则返回-1

让我们看下面的实现以更好地理解-

示例

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]))

输入值

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

输出结果

2