【发布时间】:2016-07-31 19:31:45
【问题描述】:
假设我有一个排序数组,例如
int[] sarr = new int[] { 0, 1, 3, 5 };
我想以总和的升序遍历所有大小 K 的组合。例如,如果K=2,则按顺序组合是
{0, 1} (sum = 1)
{1, 0} (sum = 1)
{0, 3} (sum = 3)
{3, 0} (sum = 3)
{3, 1} (sum = 4)
{1, 3} (sum = 4)
{5, 0} (sum = 5)
.
.
.
我想在不首先获取所有组合的情况下执行此操作,因为我想在找到满足条件 Func<int[],bool> cond 的组合后立即停止。
有已知的方法吗?
【问题讨论】:
-
只是很挑剔,看到
{0, 1}和{1, 0}都出现了,看起来您正在寻找安排而不是组合。
标签: c# algorithm performance sorting complexity-theory