ปัญหา
ให้อาร์เรย์ nums ตรวจสอบว่ามีสมาชิกตัวใดตัวหนึ่งที่มีค่าเท่ากับผลคูณของสมาชิกอื่นทั้งหมดหรือไม่
ตัวอย่าง
nums = [3,2,24,4,1] → 24 = 3×2×4×1 → True
แนวคิดการแก้ปัญหา
- คำนวณผลคูณทั้งหมด
mul - สำหรับแต่ละสมาชิก
xตรวจสอบว่าx == mul / x(คือx² == mul)
โค้ดตัวอย่าง
def solve(nums):
mul = 1
for x in nums:
mul *= x
for x in nums:
if x * x == mul:
return True
return False
print(solve([3, 2, 24, 4, 1])) # True
อินพุต / เอาต์พุต
Input: [3,2,24,4,1] Output: True