鲍勃在 Python 中进行的游戏
假设我们有一个叫鲍勃的朋友,他正在与自己进行一场游戏。他给自己一份称为 nums 的数字列表。现在,在每回合中,鲍勃选择列表中的两个元素并用一个正整数替换这两个元素,该正整数与他选择的数字的总和相同。当数组中的所有数字都是偶数时,鲍勃宣布胜利。如果没有任何解决方案,则我们必须找到鲍勃需要进行的最少回合数,以便他宣布胜利;如果没有任何此类解决方案,则返回 -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
广告