ให้ตัวเลข x, y, z หาผลคูณ แต่ถ้ามีค่าเท่ากัน 2 ตัวขึ้นไป ให้ไม่นำค่านั้นมาคูณ
ตัวอย่าง: 5, 4, 2 → 40 (ต่างกันหมด); 5, 5, 2 → 2 (5 ซ้ำกัน ไม่นับ)
อัลกอริธึม
- ใช้ set เก็บค่าที่ไม่ซ้ำ: เพิ่มเข้า set ถ้ายังไม่มี, ถ้ามีแล้วใส่ใน set remove
- คูณค่าที่เหลือใน set
การนำไปใช้
class Solution:
def solve(self, x, y, z):
temp_set = set()
remove = set()
for v in (x, y, z):
if v in temp_set:
remove.add(v)
temp_set.add(v)
for v in remove:
temp_set.remove(v)
result = 1
for v in temp_set:
result *= v
return result
ob = Solution()
print(ob.solve(5, 4, 2)) # 40
print(ob.solve(5, 5, 2)) # 2