Описание задачи
«Нарушение» последовательности - это перестановка, при которой ни один элемент не появляется в исходном положении. Например ECABD
, это расстройство ABCDE
, но CBEDA
это не так:
ABCDE
| | <- B and D are in their orignal positions
CBEDA
Учитывая последовательность, генерировать случайное нарушение ее.
Заметки
Вы можете взять либо строку в качестве входных данных, либо массив / список элементов (целые числа, символы, объекты ...)
Вместо того, чтобы возвращать новый объект, вы можете изменить существующий, меняя его элементы
Каждое расстройство должно иметь равную вероятность возникновения
Вы можете предположить, что в последовательности более одного элемента, и ни один не появляется более одного раза