假设我们有一个叫鲍勃的朋友,他正在和自己玩游戏。他给自己列出了一个数字,叫做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