Предположим, у меня есть отсортированный массив, такой как
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}
, похоже, что вы ищете аранжировки, а не комбинации. - person Andrei15193   schedule 31.07.2016