【问题标题】:Get all combinations of an array ( if i remove them 1 by 1 ) [duplicate]获取数组的所有组合(如果我将它们一一删除)[重复]
【发布时间】:2013-03-29 00:16:57
【问题描述】:

给定:

{1,2,3}

预期结果:

{1,2,3},
{1,2},{1,3},{2,3},
{1},{2},{3}

所以我基本上想要一个列表中所有可能的组合(但包括所有可能的组合 - 当每个元素都被删除时)。

我希望你明白我的意思;)

问题:哪种算法可以做到这一点?

【问题讨论】:

  • 匿名投反对票,一定要爱他们。
  • 这是幂集算法。
  • 您可能想阅读“算法简介”,任何复杂的库都有库存。

标签: c# .net linq theory


【解决方案1】:

您想要power set 算法。

Rosetta Code上有一些例子。

【讨论】:

  • 您至少可以从该站点复制粘贴 C# 代码...否则它更像是评论,而不是答案。
  • @MarcinJuraszek 感谢您的评论,我正要开始编写一个执行此操作的 python 递归函数...:D
  • 非常感谢!正是我想要的
猜你喜欢
  • 1970-01-01
  • 2011-05-19
  • 2016-05-25
  • 2010-12-29
相关资源
最近更新 更多