8
จัดเรียงอาร์เรย์อัตโนมัติ
ทุกคนรักรายการซ้อนกัน! อย่างไรก็ตามบางครั้งมันก็ยากที่จะสร้างรายการซ้อนกัน คุณต้องตัดสินใจว่าคุณต้องการทำรังให้ลึกกว่านี้หรือถ้าคุณต้องการทำรังให้ตื้นขึ้น ดังนั้นสำหรับความท้าทายของคุณคุณต้อง "Autonest" รายการ หากต้องการรายการอัตโนมัติให้เปรียบเทียบรายการทุกคู่ในรายการ หากรายการที่สองมีขนาดเล็กกว่าให้แยกองค์ประกอบทั้งสองโดยแทรกการปิดและเปิดวงเล็บระหว่างพวกเขาเช่นนี้ } { {2 , 1} ตัวอย่างเช่น{2, 1}กลายเป็น{2}, {1}และ{3, 2, 1}กลายเป็น{3}, {2}, {1} หากรายการที่สองเหมือนกันก็ไม่มีอะไรเปลี่ยนแปลง ยกตัวอย่างเช่น{1, 1, 1}ยังคงเหมือนเดิมและจะกลายเป็น{2, 1, 1, 1}{2}, {1, 1, 1} หากรายการที่สองมีขนาดใหญ่กว่าให้ซ้อนทุกรายการดังต่อไปนี้หนึ่งระดับ ตัวอย่างเช่น{1, 2}จะกลายเป็น{1, {2}}และ{1, 2, 3}จะกลายเป็น{1, {2, {3}}} ความท้าทาย คุณต้องเขียนโปรแกรมหรือฟังก์ชั่นที่ใช้ในรายการตัวเลขและส่งกลับรายการเดียวกันหลังจากที่ถูก autonested ใช้อินพุตนี้ในรูปแบบรายการภาษาดั้งเดิมของคุณ (หรือตัวเลือกที่ใกล้เคียงที่สุด) หรือเป็นสตริง คุณไม่จำเป็นต้องใช้เครื่องมือจัดฟันแบบหยิกอย่างที่เคยทำในตัวอย่าง คุณสามารถใช้วงเล็บประเภทใดก็ได้ที่เป็นธรรมชาติที่สุดในภาษาของคุณตราบใดที่มันสอดคล้องกัน คุณสามารถสรุปได้อย่างปลอดภัยว่ารายการจะมีจำนวนเต็มเท่านั้น คุณสามารถสมมติว่ารายการจะมีตัวเลขอย่างน้อย 2 ตัว …