Mô tả thử thách
Một "sự loạn trí" của một chuỗi là một hoán vị trong đó không có phần tử nào xuất hiện ở vị trí ban đầu của nó. Ví dụ: ECABD
một sự hư hỏng của ABCDE
, nhưng CBEDA
không phải là:
ABCDE
| | <- B and D are in their orignal positions
CBEDA
Đưa ra một chuỗi, tạo ra một sự biến dạng ngẫu nhiên của nó.
Ghi chú
You may take either a string as an input or an array/list of elements (integers, chars, objects...)
Instead of returning a new object, you can modify an existing one by swapping its elements
Each derangement should have an equal probability of being generated
You may assume that there is more than one element in the sequence and none appear more than once