Herausforderung
Ihre Aufgabe für diese Frage besteht darin, ein Eingabearray von Ganzzahlen beim zweiten Auftreten jeder Ganzzahl in diesem Array aufzuteilen.
Nicht klar genug? Hier ist ein Beispiel, um zu helfen
Eingangsarray:
[2 1 1 2 3 2 2 4 5 6 7 3 7 0 5]
Ausgabe:
[[2 1] [] [3 2 2 4 5 6 7] [] [0] []]
Erläuterung:
Hier ist das Array, in dem nur das zweite Element fett hervorgehoben ist:
[2 1 1 2 3 2 2 4 5 6 7 3 7 0 5 ]
Nun setzen wir die aufteilenden Array-Blöcke um diese fetten zweiten Vorkommen:
[2 1] 1 [] 2 [3 2 2 4 5 6 7] 3 [] 7 [0] 5 []
und wickeln Sie diese aufgeteilten Arrays in ein Array, um das endgültige zu erhalten
[[2 1] [] [3 2 2 4 5 6 7] [] [0] []]
Beachten Sie, dass beim Auftreten benachbarter zweiter Vorkommen leere Arrays vorhanden sind.
Regeln
Wie üblich müssen Sie ein vollständiges Programm oder eine Funktion schreiben, die das Eingabearray über STDIN, ARGV oder Funktionsargument übernimmt.
Eingang
Die Eingabe besteht aus einem beliebigen geeigneten Array (oder Array-ähnlichen) Format von Ganzzahlen.
Beispielsweise wäre Folgendes akzeptabel:
2 1 1 1 4 5 6
[2 1 1 1 4 5 6]
[2, 1, 1, 1, 4, 5, 6]
Ausgabe
Bei der Ausgabe an STDOUT kann Ihr Array auch in einem beliebigen (verschachtelten) Array-Format gedruckt werden, z
[[2 1] [1 4 5 6]]
[[2, 1], [1, 4, 5, 6]]
{{2, 1}, {1, 4, 5, 6}}
(Dies ist normalerweise die native Zeichenfolgendarstellung von Arrays in Ihrer Sprache.)
Beachten Sie auch, dass nachgestellte leere Arrays als Teil des Arrays gedruckt werden sollten.
Wertung
Dies ist Code-Golf, also gewinnen Sie den kürzesten Code in Bytes!
""
als leeres Array? Dies riecht nach Favourismus gegenüber einer bestimmten Golfsprache.
2 1, 1 4 5 6
?