Giriş
Tanım olarak, benzersiz tanımlayıcılar benzersiz olmalıdır. Aynı olan birden çok tanımlayıcıya sahip olmak, beklenmeyen verileri almaya neden olur. Ancak aynı anda birden fazla kaynaktan gelen verilerle, benzersizliği sağlamak zor olabilir. Bir işlev yazın, tanımlayıcıların listesini birleştirir.
Bu muhtemelen yazdığım en kötü bilmecedir, ama sen anladın.
Gereksinimler
Sıfır veya daha fazla pozitif tamsayıların bir listesi göz önüne alındığında, her numaraya ilkinden sonuna kadar aşağıdaki kuralları uygulayın:
- Numara türünün ilki ise, saklayın.
- Rakam daha önce karşılaşılmışsa, giriş listesinde veya mevcut herhangi bir çıkışta hiçbir yerde bulunmayan en düşük pozitif tamsayı ile değiştirin.
Çözüm için:
- Çözüm bir program veya işlev olabilir.
- Giriş, bir dize, bir argüman olarak iletilen bir dizi veya klavye girişi olabilir.
- Çıktı bir dize, bir dizi olabilir veya ekrana yazdırılabilir.
- Çıktı listesindeki tüm sayılar belirgindir.
Varsayımlar
- Giriş listesi temiz. Sadece pozitif tamsayılar içeriyor.
- Pozitif bir tamsayı 1 ila 2 31 -1 aralığındadır .
- Programınızın değişkenleri için 256 MB'den daha az bellek kullanılabilir. (Temel olarak, 2.147.483.648-element dizisine izin verilmez.)
Test Kılıfları
Input: empty
Output: empty
Input: 5
Output: 5
Input: 1, 4, 2, 5, 3, 6
Output: 1, 4, 2, 5, 3, 6
Input: 3, 3, 3, 3, 3, 3
Output: 3, 1, 2, 4, 5, 6
Input: 6, 6, 4, 4, 2, 2
Output: 6, 1, 4, 3, 2, 5
Input: 2147483647, 2, 2147483647, 2
Output: 2147483647, 2, 1, 3
puanlama
Sadece basit bir kod golf. Gelecek hafta bu zamana kadar en düşük bayt sayısı kazanır.
6, 6, ...
vermemelisiniz 6, 1, ...
?
6, 6, 4, 4, 2, 2
test case confirms Adám's interpretation: the expected output is 6, 1, 4, 3, 2, 5
, and not 6, 1, 4, 2, 3, 5
.
6, 6, 1, 2, 3, 4, 5
→6, 7, 1, 2, 3, 4, 5