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 次浏览

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告