Jeder liebt verschachtelte Listen! Manchmal ist es jedoch schwierig, eine verschachtelte Liste zu erstellen. Sie müssen sich entscheiden, ob Sie es tiefer nisten möchten oder ob Sie es flacher nisten möchten. Für Ihre Herausforderung müssen Sie also eine Liste "autonestieren". Vergleichen Sie jedes Elementpaar in der Liste, um eine Liste automatisch zu überprüfen.
Wenn das zweite Element kleiner ist, trennen Sie die beiden Elemente, indem Sie zwischen ihnen schließende und öffnende Klammern einfügen:
} { {2 , 1}
Zum Beispiel
{2, 1}
wird{2}, {1}
und{3, 2, 1}
wird{3}, {2}, {1}
Wenn das zweite Element identisch ist, ändern Sie nichts. Bleibt zum Beispiel
{1, 1, 1}
gleich und{2, 1, 1, 1}
würde es werden{2}, {1, 1, 1}
.Wenn der zweite Gegenstand größer ist, verschachteln Sie jeden folgenden Gegenstand eine Ebene tiefer. Zum Beispiel
{1, 2}
würde{1, {2}}
und{1, 2, 3}
würde werden{1, {2, {3}}}
Die Herausforderung
Sie müssen ein Programm oder eine Funktion schreiben, die eine Liste von Zahlen aufnimmt und nach der automatischen Überprüfung dieselbe Liste zurückgibt. Übernehmen Sie diese Eingabe im systemeigenen Listenformat (oder der nächstgelegenen Alternative) oder als Zeichenfolge. Sie müssen keine geschweiften Klammern verwenden, wie ich es in meinen Beispielen getan habe. Sie können jede Art von Klammern verwenden, die in Ihrer Sprache am natürlichsten ist, sofern dies konsistent ist. Sie können davon ausgehen, dass die Liste nur Ganzzahlen enthält. Sie können auch davon ausgehen, dass die Liste mindestens zwei Ziffern enthält. Hier ist ein Beispiel für IO:
{1, 3, 2} --> {1, {3}, {2}}
{1, 2, 3, 4, 5, 6} --> {1, {2, {3, {4, {5, {6}}}}}}
{6, 5, 4, 3, 2, 1} --> {6}, {5}, {4}, {3}, {2}, {1}
{7, 3, 3, 2, 6, 4} --> {7}, {3, 3}, {2, {6}, {4}}
{7, 3, 1, -8, 4, 8, 2, -9, 2, 8} --> {7}, {3}, {1}, {-8, {4, {8}, {2}, {-9, {2, {8}}}}}
Es gelten Standardlücken und die kürzeste Antwort in Bytes gewinnt!
[-100, 100]
aber ich habe nicht vor, gigantische Inputs zu geben.
{2, 1}
wird {2}, {1}
“ Wie ist das eine Ebene höher ? Eine Ebene höher wäre {2}, 1
. Was Sie haben, ist das gleiche Niveau.