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

更新於: 02-09-2020

505 次檢視

開啟您的職業生涯

完成課程並取得認證

轉到開始
廣告