O objetivo deste desafio é pegar uma matriz de números inteiros positivos e enumerar seus índices, agrupando como elementos.
Uma enumeração sem duplicatas é feita apenas com a saída de uma matriz de pares (value, index)
, por exemplo, [3, 4, 13, 9, 2]
=> [[3,1],[4,2],[13,3],[9,4],[2,5]]
.
No entanto, se um determinado elemento aparecer pela segunda vez, ele não recebe seu próprio par, mas é adicionado ao grupo de sua primeira ocorrência. Se, no exemplo acima, substituímos o 9 por 3, na saída removemos [9,4]
e substituímos [3,1]
por [3,1,4]
.
Na saída, os grupos devem ser ordenados pela primeira ocorrência e os índices devem estar em ordem crescente. O elemento deve ser o primeiro em um grupo, antes de seus índices. A saída pode ser 0 ou 1 indexada. Você pode assumir que a matriz possui pelo menos um elemento.
Casos de teste:
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]]
Isso é código-golfe , o menor número de bytes vence!
[[3, [1, 4]], [2, [2, 3]]]
?
[[17,"1"]]
? (Ainda não sei se eu posso salvar qualquer bytes que forma, ainda trabalhando nisso!)