18
เลิกทำอาร์เรย์
ความท้าทายนี้ได้แรงบันดาลใจจากคำถามเกี่ยวกับ Mathematica.SE สมมติว่าคุณมีรายการ / อาร์เรย์ที่ซ้อนกันของโครงสร้างที่กำหนดเอง (รายการในแต่ละระดับไม่จำเป็นต้องมีความยาวเท่ากัน) เพื่อความง่ายเราจะสมมติว่าโหนดนั้นเป็นจำนวนเต็มไม่เป็นลบหรืออาร์เรย์ว่าง ตัวอย่างเช่น [[[1, 3], 2], [1, 4], 12, [[0, [], 0], [5, [7]]]] บางครั้งมันจะสะดวกกว่าที่จะแผ่แบนรายการนั้นเพื่อทำการจัดการบางอย่างของโหนดเช่น --> [1, 3, 2, 1, 4, 12, 0, 0, 5, 7] --> [1, 1, 0, 1, 0, 0, 0, 0, 1, 1] แต่ในที่สุดคุณต้องการรักษาโครงสร้างดั้งเดิมเอาไว้ดังนั้นคุณต้องเปลี่ยนสิ่งนี้กลับเป็น --> [[[1, 1], 0], [1, 0], 0, …