Celem tego wyzwania jest pobranie szeregu liczb całkowitych dodatnich i policzenie jego wskaźników, grupując podobne elementy.
Wyliczenie bez duplikatów wykonuje się po prostu przez wyprowadzenie tablicy par (value, index)
, na przykład [3, 4, 13, 9, 2]
=> [[3,1],[4,2],[13,3],[9,4],[2,5]]
.
Jeśli jednak dany element pojawia się po raz drugi, nie otrzymuje własnej pary, ale jest dodawany do grupy swojego pierwszego wystąpienia. Jeżeli w naszym przykładzie zastąpiliśmy 9 z 3, a następnie na wyjściu chcielibyśmy usunąć [9,4]
i zastąpić [3,1]
z [3,1,4]
.
W danych wyjściowych grupy muszą być uporządkowane według ich pierwszego wystąpienia, a indeksy muszą być w porządku rosnącym. Element musi być pierwszy w grupie, przed jego indeksami. Dane wyjściowe mogą być indeksowane 0 lub 1. Możesz założyć, że tablica ma co najmniej jeden element.
Przypadki testowe:
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]]
To jest golf golfowy , wygrywa najmniej bajtów!
[[3, [1, 4]], [2, [2, 3]]]
zamiast tego wyprowadzić coś takiego ?
[[17,"1"]]
? (Nie wiem jeszcze, czy mogę w ten sposób zapisać jakieś bajty, wciąż nad tym pracuję!)