【发布时间】:2015-03-17 01:44:53
【问题描述】:
我正在寻找一个 C# 示例,该示例将在尊重顺序的同时为我提供集合的所有子集。
例如我有 A,B 并且想要:
A
B
AB
BA
请注意,出于我的目的AB != BA。
解决方案应该对任何输入类型都是通用的:
List<List<T>> GetSubsets<T>(List<T> originalSet)
我遇到了一些对 AB == BA 使用按位操作的出色解决方案(例如 Generate all combinations for a list of strings),但到目前为止,我还没有找到任何可以解决上述问题的方法。
任何提示/指针将不胜感激!
【问题讨论】:
-
找到所有子集,然后找到它们的所有排列。
-
我认为你的问题陈述是倒退的。你要尊重秩序,而不是忽视它。
-
你是对的雷蒙德!
-
集合按定义是无序的