Цель этой задачи состоит в том, чтобы взять массив положительных целых чисел и перечислить его индексы, группируя подобные элементы.
Перечисление без каких-либо дубликатов выполняется простым выводом массива пар (value, index)
, например, [3, 4, 13, 9, 2]
=> [[3,1],[4,2],[13,3],[9,4],[2,5]]
.
Однако, если данный элемент появляется во второй раз, ему не присваивается собственная пара, а вместо этого добавляется в группу его первого вхождения. Если в нашем примере выше мы заменили 9 на 3, то в выводе мы удалили [9,4]
и заменили [3,1]
на [3,1,4]
.
В выходных данных группы должны быть упорядочены по их первому вхождению, а индексы должны быть в порядке возрастания. Элемент должен быть первым в группе, перед его индексами. Выход может быть 0 или 1 проиндексирован. Вы можете предположить, что массив имеет хотя бы один элемент.
Тестовые случаи:
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]]
Это код-гольф , побеждает меньше байтов!
[[3, [1, 4]], [2, [2, 3]]]
этого?
[[17,"1"]]
? (Пока не знаю, смогу ли я сохранить эти байты таким образом, все еще работая над этим!)