ท้าทาย
งานของคุณสำหรับคำถามนี้คือการแบ่งอาร์เรย์อินพุตของจำนวนเต็มในการเกิดขึ้นครั้งที่สองของทุกจำนวนเต็มในอาร์เรย์นั้น
ไม่ชัดเจนเพียงพอหรือไม่ นี่คือตัวอย่างที่จะช่วย
อาร์เรย์อินพุต:
[2 1 1 2 3 2 2 4 5 6 7 3 7 0 5]
เอาท์พุท:
[[2 1] [] [3 2 2 4 5 6 7] [] [0] []]
คำอธิบาย:
นี่คืออาร์เรย์ที่มีเพียงองค์ประกอบที่สองที่เน้นเป็นตัวหนา:
[2 1 1 2 3 2 2 4 5 6 7 3 7 0 5 ]
ตอนนี้เราวางบล็อกอาเรย์แยกรอบเหตุการณ์ที่สองที่เป็นตัวหนาเหล่านี้:
[2 1] 1 [] 2 [3 2 2 4 5 6 7] 3 [] 7 [0] 5 []
และตัดอาร์เรย์ที่แยกออกเหล่านี้ในอาร์เรย์เพื่อให้ได้ค่าสุดท้าย
[[2 1] [] [3 2 2 4 5 6 7] [] [0] []]
โปรดทราบว่าเมื่อเกิดเหตุการณ์ที่สองติดกันเกิดขึ้นจะมีอาร์เรย์ว่างเปล่า
กฎระเบียบ
ตามปกติคุณต้องเขียนโปรแกรมเต็มรูปแบบหรือฟังก์ชั่นการใช้อาร์เรย์อินพุตผ่าน STDIN, ARGV หรือฟังก์ชั่นการโต้แย้ง
อินพุต
อินพุตประกอบด้วยรูปแบบจำนวนเต็มของอาร์เรย์จำนวนเต็ม
ตัวอย่างเช่นข้อใดข้อหนึ่งต่อไปนี้จะเป็นที่ยอมรับ:
2 1 1 1 4 5 6
[2 1 1 1 4 5 6]
[2, 1, 1, 1, 4, 5, 6]
เอาท์พุต
เมื่อส่งออกไปยัง STDOUT อาเรย์ของคุณยังสามารถพิมพ์ในรูปแบบอาเรย์ที่สะดวก (ซ้อนกัน) เช่นหนึ่งใน
[[2 1] [1 4 5 6]]
[[2, 1], [1, 4, 5, 6]]
{{2, 1}, {1, 4, 5, 6}}
(ซึ่งโดยปกติจะเป็นการแทนค่าสายอักขระดั้งเดิมของอาร์เรย์ในภาษาของคุณ)
นอกจากนี้โปรดทราบว่าควรพิมพ์อาร์เรย์ว่างเปล่าต่อท้ายเป็นส่วนหนึ่งของอาร์เรย์
เกณฑ์การให้คะแนน
นี่คือโค้ดกอล์ฟที่สั้นที่สุดในหน่วยไบต์!
""
เป็นอาร์เรย์ว่างคืออะไร นี่คือกลิ่นของความนิยมไปสู่ภาษากอล์ฟที่เฉพาะเจาะจง
2 1, 1 4 5 6
หรือไม่