Files
freeCodeCamp/curriculum/challenges/japanese/10-coding-interview-prep/project-euler/problem-367-bozo-sort.md
2022-01-23 00:08:20 +09:00

1.9 KiB

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
5900f4db1000cf542c50ffee 問題 367: ボゾソート 5 302028 problem-367-bozo-sort

--description--

ボゾソートと聞いて、やや効率の低いボゴソートと混同しないでください。ボゾソートは、入力数列がソートされているかをチェックし、ソートされていない場合は無作為に 2 つの要素を交換します。 最終的に数列がソートされるまで、これが繰り返されます。

最初の 4 つの自然数が含まれるすべての順列を入力として考えた場合、交換回数の期待値は、4! 個すべての入力数列で平均 24.75 になります。

ソート済みの数列の場合、交換回数は 0 回です。

この問題では、次のような変種のボゾソートについて考えます。

数列がソートされていない場合は、無作為に 3 つの要素を選択し、これら 3 つの要素を無作為に入れ替えます。

これら 3 つの要素の 3! = 6 個の順列はすべて等確率で現れます。

ソート済みの数列の場合、交換回数は 0 回です。

最初の 4 つの自然数が含まれるすべての順列を入力として考えた場合、交換回数の期待値は、4! 個すべての入力数列で平均 27.5 になります。

入力数列として、最初の 11 個の自然数の順列を考えます。

11! 個すべての入力数列で平均すると、このソートアルゴリズムによる交換回数の期待値はいくつですか? 最も近い整数に四捨五入して答えなさい。

--hints--

bozoSort()48271207 を返す必要があります。

assert.strictEqual(bozoSort(), 48271207);

--seed--

--seed-contents--

function bozoSort() {

  return true;
}

bozoSort();

--solutions--

// solution required