我试图找到一种有效的方式来生成具有一定大小k的子集的集合的幂集。我找到了有关如何生成一个范围内的所有幂集和幂集的答案,但是我不确定如果只想要一个特定的大小该怎么做。

谢谢!

最佳答案

创建一个包含集合元素的列表。

创建仅由1和0组成的第二个列表,其中

  • 列表中元素的总数等于设置的
  • 中的元素数
  • 列表中的1的数量等于k

  • 对于第二个列表的每个排列,子集由第一个列表中的元素组成,这些元素在第二个列表中的对应条目为1。

    09-10 06:36