Description du défi
Un "dérangement" d'une séquence est une permutation où aucun élément n'apparaît dans sa position d'origine. Par exemple, ECABD
est un dérangement de ABCDE
, mais CBEDA
n'est pas:
ABCDE
| | <- B and D are in their orignal positions
CBEDA
Étant donné une séquence, générez-en un dérangement aléatoire.
Remarques
Vous pouvez prendre soit une chaîne en entrée soit un tableau / liste d'éléments (entiers, caractères, objets ...)
Au lieu de renvoyer un nouvel objet, vous pouvez modifier un objet existant en échangeant ses éléments
Chaque dérangement devrait avoir une probabilité égale d'être généré
Vous pouvez supposer qu'il y a plus d'un élément dans la séquence et qu'aucun n'apparaît plus d'une fois