สมมติว่าเรามีอาร์เรย์ nums เราต้องหาลบ (sign) ของผลคูณของทุกอิลิเมนต์ในอาร์เรย์
เช่น nums = [-2,3,6,-9,2,-4] ผลลัพธ์คือ "Negative" เพราะผลคูณคือ -2592
ขั้นตอนการแก้ปัญหา
- zeroes = 0, negatives = 0
- วนลูปแต่ละ i ใน nums:
- ถ้า i == 0: zeroes += 1
- ถ้า i < 0: negatives += 1
- ถ้า zeroes > 0: คืน "Zero"
- มิฉะนั้นถ้า negatives % 2 == 0: คืน "Positive"
- มิฉะนั้น: คืน "Negative"
ตัวอย่างโค้ด
def solve(nums):
zeroes, negatives = 0, 0
for i in nums:
if i == 0:
zeroes += 1
if i < 0:
negatives += 1
if zeroes > 0:
return "Zero"
elif negatives % 2 == 0:
return "Positive"
else:
return "Negative"
nums = [-2,3,6,-9,2,-4]
print(solve(nums))
ข้อมูลเข้า
[-2,3,6,-9,2,-4]
ข้อมูลออก
Negative