Definimos um mapa como um conjunto de pares de valores-chave. Para esse desafio, você precisa pegar cada um dos valores e atribuí-los a uma chave escolhida aleatoriamente.
- Você deve aleatoriamente embaralhar os valores e gerar o mapa resultante. Isso significa que cada vez que executamos seu programa, temos a chance de obter uma saída diferente
- Cada permutação possível dos valores deve ter uma chance diferente de zero de aparecer.
- Todas as chaves e valores originais devem aparecer na matriz resultante. Valores repetidos devem aparecer o mesmo número de vezes na matriz resultante.
Por exemplo, se o seu mapa era:
[0:10, 1:10, 5:5]
todos os itens a seguir devem ter a chance 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 / saídas aceitáveis:
- Mapa nativo dos seus idiomas
- Você pode inserir uma matriz de pares de valores-chave. Você não pode inserir 2 matrizes, uma com chaves e outra com valores.
- Você pode usar uma representação em cadeia de qualquer uma das opções acima
- Se você inserir uma matriz ou um mapa, poderá modificar o objeto original em vez de retornar
- O tipo de entrada deve corresponder ao tipo de saída
- Se você inserir uma matriz, a ordem das chaves deverá ser mantida.
- Você pode assumir que as chaves são únicas, mas não pode assumir que os valores são únicos.
Este é um código-golfe , então responda o mais breve possível
[k, v]
ou seriam [v, k]
aceitáveis?
[k, v]