Как бы вы программно перечисляли все возможные уникальные комбинации набора чисел в несколько групп?Комбинации с несколькими группами
Например, если у меня есть набор {1,2,3,4,5,6,7,8,9,10}, и я хочу 3 группы размером 3, 3, 2, одно из возможных подмножеств будет {[1, 2, 3], [4, 5, 6], [7, 8]}
это эквивалентно {[3, 2, 1], [6, 5, 4], [ 7, 8]} и будет рассматриваться как дубликат
, тогда как {[4, 2, 3], [1, 5, 6], [7, 8]} будут рассмотрены различные подмножества
Очевидно Я ищу наиболее эффективный и практичный способ сделать это. Я буду работать с довольно большим N, поэтому алгоритм должен быть масштабируемым.
Знаете ли вы, как проходить через все подмножества заданного размера? – Beta
Существует огромное количество возможных разделов, которые вы могли бы придумать. Я сомневаюсь, что все будет масштабируемо для больших n. Что конкретно вы пытаетесь сделать? – templatetypedef
Непонятно из вашего вопроса, если '{[4,5,6], [1,2,3], [7,8]}' будет считаться равным двум приведенным примерам. Мой ответ ниже в настоящее время не принимает, но вы можете сделать это явным. – MvG