选择不重复的随机数字块

choose random block of numbers without repetition

我有一个从 1 到 100 的数字列表。我需要选择一个随机大小的数字块。 例如,第一次选择数字 5 到 21 第二次选择数字 50 到 66 继续选择一组数字,直到所有数字都被选择,即我覆盖了整个范围(即 100)。数字不应在任何块中重复,这意味着范围应该是唯一的。

我需要一个与特定编程语言无关的通用算法。

  • 将您的列表切成随机大小的块(选择一个随机大小;将其切掉;重复直到列表为空)。
  • 随机打乱方块 (Fisher-Yates)
  • Return 个打乱顺序的方块

任何“随机但不重复”算法的答案始终是“随机播放”。