鮑勃在 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
廣告