Цель этой задачи состоит в том, чтобы взять массив положительных целых чисел и перечислить его индексы, группируя подобные элементы.
Перечисление без каких-либо дубликатов выполняется простым выводом массива пар (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"]]? (Пока не знаю, смогу ли я сохранить эти байты таким образом, все еще работая над этим!)