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