L'obiettivo di questa sfida è prendere una serie di numeri interi positivi ed enumerare i suoi indici, raggruppandoli come elementi.
Un'enumerazione senza duplicati viene eseguita semplicemente emettendo una matrice di coppie (value, index)
, ad esempio [3, 4, 13, 9, 2]
=> [[3,1],[4,2],[13,3],[9,4],[2,5]]
.
Tuttavia, se un dato elemento appare una seconda volta, non gli viene data la sua stessa coppia, ma viene invece aggiunto al gruppo della sua prima occorrenza. Se nell'esempio precedente abbiamo sostituito il 9 con 3, poi in uscita avremmo rimuovere [9,4]
e sostituire [3,1]
con [3,1,4]
.
Nell'output, i gruppi devono essere ordinati in base alla prima occorrenza e gli indici devono essere in ordine crescente. L'elemento deve essere il primo in un gruppo, prima dei suoi indici. L'output può essere 0 o 1 indicizzato. Si può presumere che l'array abbia almeno un elemento.
Casi test:
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]]
Questo è code-golf , vince meno byte!
[[3, [1, 4]], [2, [2, 3]]]
invece produrre qualcosa del genere ?
[[17,"1"]]
? (Non so ancora se posso salvare qualche byte in quel modo, ancora lavorando su di esso!)