Das Ziel dieser Herausforderung ist es, eine Reihe positiver Ganzzahlen zu nehmen und ihre Indizes zu zählen, wobei ähnliche Elemente gruppiert werden.
Eine Aufzählung ohne Duplikate erfolgt durch einfache Ausgabe eines Arrays von Paaren (value, index)
, z. B. [3, 4, 13, 9, 2]
=> [[3,1],[4,2],[13,3],[9,4],[2,5]]
.
Wenn ein bestimmtes Element jedoch ein zweites Mal angezeigt wird, erhält es kein eigenes Paar, sondern wird stattdessen zur Gruppe seines ersten Auftretens hinzugefügt. Wenn in unserem Beispiel wir die 9 mit 3, dann in der Ausgabe ersetzt würden wir entfernen [9,4]
und ersetzen [3,1]
mit [3,1,4]
.
In der Ausgabe müssen die Gruppen nach ihrem ersten Vorkommen geordnet sein und die Indizes müssen in aufsteigender Reihenfolge vorliegen. Das Element muss sich zuerst in einer Gruppe befinden, bevor seine Indizes angezeigt werden. Der Ausgang kann 0 oder 1 indiziert sein. Sie können davon ausgehen, dass das Array mindestens ein Element enthält.
Testfälle:
Input | Output (One-indexed)
[3, 2, 2, 3] | [[3, 1, 4], [2, 2, 3]]
[17] | [[17, 1]]
[1, 1] | [[1, 1, 2]]
[1, 1, 2] | [[1, 1, 2], [2, 3]]
[1, 2, 3, 4] | [[1, 1], [2, 2], [3, 3], [4, 4]]
[1, 1, 1, 1] | [[1, 1, 2, 3, 4]]
Das ist Code-Golf , die wenigsten Bytes gewinnen!
[[3, [1, 4]], [2, [2, 3]]]
stattdessen so etwas ausgeben ?
[[17,"1"]]
? (Ich weiß noch nicht, ob ich auf diese Weise Bytes speichern kann, während ich noch daran arbeite!)