Python程式:查詢三個唯一元素的乘積


假設我們有三個數字 x、y 和 z,我們需要找到它們的乘積,但如果任意兩個數字相等,則不計入。

因此,如果輸入為 x = 5,y = 4,z = 2,則輸出為 40,因為所有三個數字都不同,所以它們的乘積為 5 * 4 * 2 = 40。

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

  • temp_set := 新建一個集合
  • remove := 新建一個集合
  • 對於 [x,y,z] 中的每個 i,執行以下操作:
    • 如果 i 在 temp_set 中,則
      • 將 i 插入名為 remove 的集合中
    • 將 i 插入到 temp_set 集合中
  • 對於 remove 中的每個 i,執行以下操作:
    • 從 temp_set 中刪除 i
  • multiplied := 1
  • 對於 temp_set 中的每個 i,執行以下操作:
    • multiplied := multiplied * i
  • 返回 multiplied

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

示例

 線上演示

class Solution:
   def solve(self, x, y, z):
      temp_set = set()
      remove = set()
      for i in [x, y, z]:
         if i in temp_set:
            remove.add(i)
         temp_set.add(i)
      for i in remove:
         temp_set.remove(i)
      multiplied = 1
      for i in temp_set:
         multiplied *= i
      return multiplied
ob = Solution()
print(ob.solve(5, 4, 2))

輸入

5, 4, 2

輸出

40

更新於: 2020年10月5日

547 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告

© . All rights reserved.