freeCodeCamp/curriculum/challenges/chinese/08-coding-interview-prep/project-euler/problem-367-bozo-sort.chine...

1.7 KiB
Raw Blame History

id challengeType title videoUrl localeTitle
5900f4db1000cf542c50ffee 5 Problem 367: Bozo sort 问题367Bozo排序

Description

Bozo排序不要与稍微低效的bogo排序混淆包括检查输入序列是否已排序以及是否不随机交换两个元素。重复此过程直到最终对序列进行排序。

如果我们考虑前4个自然数的所有排列作为输入则交换数的期望值平均超过所有4个输入序列是24.75。已排序的序列需要0步。

在这个问题中我们考虑以下bozo排序变体。如果序列不按顺序我们随机选择三个元素并随机地随机抽取这三个元素。这三个元素的所有3= 6个排列同样可能。已经排序的序列将采取0步。如果我们考虑前4个自然数的所有排列作为输入则洗牌次数的期望值平均超过所有4个输入序列是27.5。将输入序列视为前11个自然数的排列。全部11个人平均输入序列此排序算法将执行的预期洗牌次数是多少

将答案四舍五入到最接近的整数。

Instructions

Tests

tests:
  - text: <code>euler367()</code>应该返回48271207。
    testString: 'assert.strictEqual(euler367(), 48271207, "<code>euler367()</code> should return 48271207.");'

Challenge Seed

function euler367() {
  // Good luck!
  return true;
}

euler367();

Solution

// solution required