Bir haritayı bir dizi anahtar / değer çifti olarak tanımlıyoruz. Bu meydan okuma için, değerlerin her birini almanız ve bunları rastgele seçilen bir anahtara atamanız gerekir.
- Sen gerekir rastgele ortaya çıkan harita değerlerini karıştırmak ve çıkışı. Bu, programınızı her çalıştırdığımızda farklı bir çıktı alma şansımız olduğu anlamına gelir
- Değerlerin olası her permütasyonunun sıfırdan farklı görünme şansı olmalıdır.
- Tüm orijinal anahtarlar ve orijinal değerler sonuç dizisinde görünmelidir. Tekrarlanan değerler, elde edilen dizide aynı sayıda görünmelidir.
Örneğin, haritanız:
[0:10, 1:10, 5:5]
aşağıdakilerin tümü görünme şansına sahip olmalıdır:
[0:10, 1:10, 5:5] (original map)
[0:10, 1:5, 5:10]
[0:10, 1:10, 5:5] (technically the same map, but I swapped the two tens)
[0:10, 1:5, 5:10]
[0:5, 1:10, 5:10]
[0:5, 1:10, 5:10]
Kabul edilebilir giriş / çıkışlar:
- Dillerinizin yerel haritası
- Bir dizi anahtar / değer çifti girebilirsiniz. Şunları değil girişi 2 diziler, anahtarlarla biri değerlerle diğer.
- Yukarıdakilerden herhangi birinin dize olarak temsilini kullanabilirsiniz
- Bir dizi veya harita girerseniz, geri dönmek yerine orijinal nesneyi değiştirebilirsiniz
- Giriş türü, çıkış türüyle eşleşmelidir
- Bir dizi girerseniz, tuşların sırası korunmalıdır.
- Anahtarların benzersiz olduğunu varsayabilirsiniz, ancak değerlerin benzersiz olduğunu varsayamazsınız.
Bu bir kod golf, bu yüzden mümkün olduğunca kısa cevap verin
[k, v]
yoksa [v, k]
kabul edilebilir mi?
[k, v]