檢查Python陣列中是否存在一個元素等於其餘元素乘積


假設我們有一個名為nums的陣列,我們需要檢查該陣列是否包含一個元素,其值等於所有其他元素的乘積。

例如,如果輸入是nums = [3,2,24,4,1],則輸出為True,因為24 = (3*2*4*1)。

為了解決這個問題,我們將遵循以下步驟:

  • mul := 1
  • 對於範圍從0到nums大小-1的i,執行:
    • mul := mul * nums[i]
  • 對於範圍從0到nums大小-1的i,執行:
    • 如果nums[i]等於(mul / nums[i]),則:
      • 返回True
  • 返回False

讓我們來看下面的實現,以便更好地理解:

示例程式碼

線上演示

def solve(nums):
   mul = 1
   for i in range(len(nums)):
      mul *= nums[i]
 
   for i in range(len(nums)):
      if nums[i] == mul / nums[i]:
         return True
 
   return False
 
nums = [3,2,24,4,1]
print(solve(nums))

輸入

[3,2,24,4,1]

輸出

True

更新於:2021年1月15日

瀏覽量:127

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.