Definimos un mapa como un conjunto de pares clave-valor. Para este desafío, debe tomar cada uno de los valores y asignarlos a una clave elegida al azar.
- Debe barajar aleatoriamente los valores y generar el mapa resultante. Esto significa que cada vez que ejecutamos su programa, tenemos la posibilidad de obtener un resultado diferente
- Cada posible permutación de los valores debe tener una probabilidad distinta de cero de aparecer.
- Todas las claves y valores originales deben aparecer en la matriz resultante. Los valores repetidos deben aparecer la misma cantidad de veces en la matriz resultante.
Por ejemplo, si su mapa era:
[0:10, 1:10, 5:5]
todo lo siguiente debe tener la posibilidad de aparecer:
[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]
Entradas / salidas aceptables:
- El mapa nativo de tus idiomas
- Puede ingresar una matriz de pares clave-valor. Es posible que no de entrada 2 arrays, uno con teclas, el otro con valores.
- Puede usar una representación de cadena de cualquiera de los anteriores
- Si ingresa una matriz o un mapa, puede modificar el objeto original en lugar de devolver
- El tipo de entrada debe coincidir con el tipo de salida.
- Si ingresa una matriz, se debe mantener el orden de las teclas.
- Puede suponer que las claves son únicas, pero no puede suponer que los valores son únicos.
Este es un código de golf , así que responda lo más breve posible
[k, v]
o serían [v, k]
aceptables?
[k, v]