Not: Bu, bir dizi dizi işleme zorluğundaki # 2'dir . Önceki meydan okuma için, buraya tıklayın .
Yuvalanmış Listeleri Ayırma
Yuvalanmış bir listedeki değerleri ayırmak için, düzleştirin ve ardından her değeri önceki ile aynı iç içe derinlikte olacak şekilde kaydırın.
Yani, bu liste:
[1, [2, 3], [4, 4, [5, 2], 1]]
Olacaktı:
[1, [2], [3], [4], [4], [[5]], [[2]], [1]]
Meydan okuma
Senin görevin iç içe geçmiş pozitif tamsayılar listesini (dilinizin sınırları dahilinde) alan ve bu ayırma işlemini gerçekleştiren bir program yazmaktır.
Listeyi argüman olarak alan bir işlev veya G / Ç gerçekleştiren tam bir program gönderebilirsiniz.
Bu kod-golf olduğundan , en kısa teslim (bayt cinsinden) kazanır! *
* Standart golf boşlukları yasaklanmıştır. Matkabı biliyorsun.
Test Kılıfları
Giriş listeleri, yalnızca kendi dilinizin standart tamsayı boyutunda tamsayıları içerecektir. Dillerin rekabet etmelerini engelleyen kısıtlamalardan kaçınmak için, değerler 10'dan fazla derinliklerde yuvalanmayacaktır.
Girişin boş alt listelerine sahip olmayacağını varsayabilirsiniz: örneğin - [[5, []]]
verilmeyecek. Ancak, ana liste boş olabilir.
[] -> []
[[1, 2]] -> [[1], [2]]
[3, [4, 5]] -> [3, [4], [5]]
[3, [3, [3]]] -> [3, [3], [[3]]]
[[6, [[7]]]] -> [[6], [[[7]]]]
[[5, 10], 11] -> [[5], [10], 11]
Bir köşe davası kaçırdıysam yorum yapmaktan çekinmeyin.
Örnek
Örnek olarak hızlı (topraksız) bir Python 3 çözümü attım - repl.it üzerinde test edebilirsiniz .