Meydan açıklaması
Bir dizinin "bozulması", hiçbir öğenin orijinal konumunda görünmediği bir permütasyondur. Örneğin ECABD
, bir düzenlemedir ABCDE
, ancak CBEDA
değildir:
ABCDE
| | <- B and D are in their orignal positions
CBEDA
Bir dizi göz önüne alındığında, bunun rastgele bir düzenlemesini oluşturun.
notlar
Girdi olarak bir dize ya da bir dizi / eleman listesi (tamsayılar, karakterler, nesneler ...) alabilir.
Yeni bir nesne döndürmek yerine, mevcut bir nesneyi öğelerini değiştirerek değiştirebilirsiniz.
Her düzenleme, eşit olarak üretilme olasılığına sahip olmalıdır.
Dizide birden fazla öğe olduğunu ve hiçbirinin bir defadan fazla görünmediğini varsayabilirsiniz.