【发布时间】:2016-10-25 10:26:04
【问题描述】:
排列有很多brilliant 实现 - 我在链接中选择了 Sam 的答案。
我也知道排列和组合之间存在差异,但我不知道如何正确表达。
我需要有关获取所有独特部分组合的指导,例如
A,B,C = {A,B}, {A,C}, {B,C}
A,B,C,D = {A,B,C},{A,B,D},{B,C,D},{A,C,D},{A,B}, {A,C}, {B,C}
从这里我将把它传递给排列函数,让我全部可用
排列,
例如{A,B}, {B,A}, {A,C}, {C,A}等
如何获得更大集合的这些(部分)子集?
【问题讨论】:
-
你想在方法上做什么样的签名?它是否总是返回缺少一项的集合,或者您可能想传入一个四项集并获取所有 2 项子集?或者您可能想要获得所有 2 和所有三个子集?从你的例子中有点不清楚你到底想要什么......
-
抱歉不清楚,我现在更新了这个问题来解决这个问题。例如4 个项目,这将是所有 2 个项目子集和 3 个项目子集。因此所有组合 > 1 和
-
为什么第一种情况不包括 {A,B,C}, {A}, {B} 和 {C}?这些也是 {A,B,C} 的子集
-
道歉@JanKukacka,我现在更新了问题,我只对子集感兴趣,而不是完整集,而不是单集。这是我正在与之斗争的所有组合
-
@RBarryYoung 我意识到这有点太晚了,但我撤回了我的近距离投票。
标签: c# combinations permutation