选择不重复的随机数字块
choose random block of numbers without repetition
我有一个从 1 到 100 的数字列表。我需要选择一个随机大小的数字块。
例如,第一次选择数字 5 到 21
第二次选择数字 50 到 66
继续选择一组数字,直到所有数字都被选择,即我覆盖了整个范围(即 100)。数字不应在任何块中重复,这意味着范围应该是唯一的。
我需要一个与特定编程语言无关的通用算法。
- 将您的列表切成随机大小的块(选择一个随机大小;将其切掉;重复直到列表为空)。
- 随机打乱方块 (Fisher-Yates)
- Return 个打乱顺序的方块
任何“随机但不重复”算法的答案始终是“随机播放”。
我有一个从 1 到 100 的数字列表。我需要选择一个随机大小的数字块。 例如,第一次选择数字 5 到 21 第二次选择数字 50 到 66 继续选择一组数字,直到所有数字都被选择,即我覆盖了整个范围(即 100)。数字不应在任何块中重复,这意味着范围应该是唯一的。
我需要一个与特定编程语言无关的通用算法。
- 将您的列表切成随机大小的块(选择一个随机大小;将其切掉;重复直到列表为空)。
- 随机打乱方块 (Fisher-Yates)
- Return 个打乱顺序的方块
任何“随机但不重复”算法的答案始终是“随机播放”。