เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้ในรายการจำนวนเต็มบวกที่ไม่มีข้อ จำกัด คุณอาจจะถือว่าเป็นการป้อนข้อมูลในรูปแบบที่สะดวกที่เหมาะสมเช่นหรือ"1 2 3 4"
[1, 2, 3, 4]
ตัวเลขในรายการอินพุตแสดงถึงชิ้นส่วนของแผนภูมิวงกลมเต็มโดยที่ขนาดแต่ละส่วนเป็นสัดส่วนกับหมายเลขที่สอดคล้องกันและชิ้นส่วนทั้งหมดจะถูกจัดเรียงรอบแผนภูมิตามลำดับที่กำหนด
ตัวอย่างเช่นพายสำหรับ1 2 3 4
คือ:
คำถามที่รหัสของคุณต้องตอบคือ: แผนภูมิวงกลมมีการแบ่งออกเป็นสองส่วนหรือไม่? นั่นคือมีเส้นตรงที่สมบูรณ์แบบจากด้านหนึ่งของวงกลมไปยังอีกด้านหนึ่งหรือไม่โดยแยกออกเป็นสองส่วนหรือไม่?
คุณจำเป็นต้องส่งออกtruthyค่าถ้ามีอย่างน้อยหนึ่งเส้นแบ่งครึ่งและเอาท์พุทfalsyค่าถ้ามีผู้ใด
ใน1 2 3 4
ตัวอย่างมีการแบ่งระหว่าง4 1
และ2 3
ดังนั้นผลลัพธ์จะเป็นความจริง
แต่สำหรับอินพุท1 2 3 4 5
นั้นไม่มีไบเซอร์เรเตอร์ดังนั้นเอาต์พุตจะเป็นเท็จ:
ตัวอย่างเพิ่มเติม
การจัดเรียงตัวเลขต่างกันอาจลบเส้นแบ่งครึ่ง
เช่น2 1 3 4
→ falsy:
หากมีเพียงหนึ่งหมายเลขเท่านั้นในรายการอินพุตวงกลมจะไม่ถูกแบ่งออก
เช่น10
→ falsy:
อาจมีหลายเส้นแบ่งครึ่ง ตราบใดที่มีมากกว่าศูนย์ผลลัพธ์ก็จะเป็นจริง
เช่น6 6 12 12 12 11 1 12
→ความจริง: (มี 3 เส้นแบ่งครึ่งที่นี่)
อาจมีการแบ่งเป็นสองส่วนแม้ว่าจะมองไม่เห็นก็ตาม
เช่น1000000 1000001
→ falsy:
เช่น1000000 1000001 1
→ความจริง:
(ขอบคุณnces.ed.govสำหรับการสร้างแผนภูมิวงกลม)
กรณีทดสอบ
Truthy
1 2 3 4
6 6 12 12 12 11 1 12
1000000 1000001 1
1 2 3
1 1
42 42
1 17 9 13 2 7 3
3 1 2
10 20 10
Falsy
1 2 3 4 5
2 1 3 4
10
1000000 1000001
1
1 2
3 1 1
1 2 1 2 1 2
10 20 10 1
เกณฑ์การให้คะแนน
รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ Tiebreaker เป็นคำตอบก่อนหน้า