【发布时间】:2017-07-12 13:23:01
【问题描述】:
public static IEnumerable<IEnumerable<T>> Combinations<T>(this IEnumerable<T> elements, int k)
{
return k == 0
? new[] { new T[0] }
: elements.SelectMany((e, i) => elements
.Skip(i + 1).Combinations(k - 1)
.Select(c => (new[] { e }).Concat<T>(c)));
}
代码当前运行串联的字符串组合,例如以两种方式列出 a、b、c 将给出 ab、ac、bc,这是非常正确的。有没有办法可以修改代码以并行运行组合(即最大化我的 cpu 处理器),因为我打算在大量字符串上运行组合。
【问题讨论】:
-
使用
elements.AsParallel().SelectMany...
标签: c#