Bu zorluğun amacı, bir dizi pozitif tamsayı almak ve benzer öğeleri gruplayarak endekslerini numaralandırmaktır.
Herhangi bir kopya içermeyen bir numaralandırma, sadece bir çift dizisi çıktısı alınarak yapılır (value, index)
, örneğin, [3, 4, 13, 9, 2]
=> [[3,1],[4,2],[13,3],[9,4],[2,5]]
.
Bununla birlikte, eğer bir element ikinci kez belirirse, kendi çiftine verilmez, bunun yerine ilk oluşum grubuna eklenir. Biz 3 ile 9 değiştirilir bizim yukarıdaki örnekte ise, çıktıda biz çıkarıyoruz [9,4]
ve değiştirme [3,1]
ile [3,1,4]
.
Çıktıda, gruplar ilk oluşumlarına göre sıralanmalı ve endeksler artan düzende olmalıdır. Eleman ilk önce bir grupta, endekslerinden önce olmalıdır. Çıktı 0 veya 1 dizinlenmiş olabilir. Dizinin en az bir elementi olduğunu varsayabilirsiniz.
Test durumları:
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]]
Bu kod golf , en az bayt kazanıyor!
[[3, [1, 4]], [2, [2, 3]]]
Bunun gibi bir şey çıktırabilir miyiz ?
[[17,"1"]]
? (Henüz herhangi bir byte kurtarabilir miyim, hala üzerinde çalışabilir miyim, bilmiyorum!)