Definiujemy mapę jako zestaw par klucz-wartość. W tym wyzwaniu musisz wziąć każdą z wartości i przypisać ją do losowo wybranego klucza.
- Musisz losowo przetasować wartości i wydrukować wynikową mapę. Oznacza to, że za każdym razem, gdy uruchamiamy Twój program, mamy szansę uzyskać inną wydajność
- Każda możliwa permutacja wartości musi mieć niezerową szansę pojawienia się.
- Wszystkie oryginalne klucze i oryginalne wartości muszą pojawić się w wynikowej tablicy. Powtarzane wartości muszą pojawiać się tyle samo razy w wynikowej tablicy.
Na przykład, jeśli twoja mapa to:
[0:10, 1:10, 5:5]
wszystkie poniższe muszą mieć szansę pojawienia się:
[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]
Dopuszczalne wejścia / wyjścia:
- Natywna mapa Twoich języków
- Możesz wprowadzić tablicę par klucz-wartość. Ty może nie wejście 2 tablice, jeden z klawiszy, druga z wartościami.
- Możesz użyć reprezentacji ciągu dowolnego z powyższych
- Jeśli wprowadzisz tablicę lub mapę, możesz zmodyfikować oryginalny obiekt zamiast zwracać
- Typ wejściowy musi być zgodny z typem wyjściowym
- Jeśli wprowadzisz tablicę, kolejność kluczy musi być zachowana.
- Możesz założyć, że klucze są unikalne, ale nie możesz założyć, że wartości są unikalne.
To jest golf-golf, więc odpowiedz tak krótko, jak to możliwe
[k, v]
czy byłyby [v, k]
do przyjęcia?
[k, v]