Nous définissons une carte comme un ensemble de paires clé-valeur. Pour ce défi, vous devez prendre chacune des valeurs et les affecter à une clé choisie au hasard.
- Vous devez mélanger aléatoirement les valeurs et sortir la carte résultante. Cela signifie que chaque fois que nous exécutons votre programme, nous avons une chance d'obtenir une sortie différente
- Chaque permutation possible des valeurs doit avoir une chance non nulle d'apparaître.
- Toutes les clés et valeurs d'origine doivent apparaître dans le tableau résultant. Les valeurs répétées doivent apparaître le même nombre de fois dans le tableau résultant.
Par exemple, si votre carte était:
[0:10, 1:10, 5:5]
tous les éléments suivants doivent avoir une chance d'apparaître:
[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]
Entrées / sorties acceptables:
- Carte native de vos langues
- Vous pouvez entrer un tableau de paires clé-valeur. Vous ne pouvez pas entrer 2 tableaux, l'un avec des clés, l'autre avec des valeurs.
- Vous pouvez utiliser une représentation sous forme de chaîne de tout ce qui précède
- Si vous entrez un tableau ou une carte, vous pouvez modifier l'objet d'origine au lieu de retourner
- Le type d'entrée doit correspondre au type de sortie
- Si vous entrez un tableau, l'ordre des clés doit être conservé.
- Vous pouvez supposer que les clés sont uniques, mais vous ne pouvez pas supposer que les valeurs sont uniques.
Ceci est un code-golf , alors répondez le plus brièvement possible
[k, v]
ou seraient-elles [v, k]
acceptables?
[k, v]