8. shuffle() を実装する

少し工夫が必要  - accepted / - tried

shuffle() を実装することはできますか?

配列の要素の順番をランダムに変えてください。

例えば

const arr = [1, 2, 3, 4]

以上の配列では、4! = 24 の順列がある

[1, 2, 3, 4]
[1, 2, 4, 3]
[1, 3, 2, 4]
[1, 3, 4, 2]
[1, 4, 2, 3]
[1, 4, 3, 2]
[2, 1, 3, 4]
[2, 1, 4, 3]
[2, 3, 1, 4]
[2, 3, 4, 1]
[2, 4, 1, 3]
[2, 4, 3, 1]
[3, 1, 2, 4]
[3, 1, 4, 2]
[3, 2, 1, 4]
[3, 2, 4, 1]
[3, 4, 1, 2]
[3, 4, 2, 1]
[4, 1, 2, 3]
[4, 1, 3, 2]
[4, 2, 1, 3]
[4, 2, 3, 1]
[4, 3, 1, 2]
[4, 3, 2, 1]

あなたが実装した shuffle()は同じ確率(1/24)で上記の中の一つを返すべきです。

補足

なたが実装したshuffle()は何度も実行されてから、各順列の確率を計算して標準偏差でジャッジします。

ref: https://javascript.info/task/shuffle

時間と空間複雑性はどう?

(2)
(171)