Здесь у меня будет почти 50-100 номеров, для которых мне нужно найти комбинации, которые больше чем определенное число, и использовать результаты далее в моей проблеме ..:Самый эффективный алгоритм для нахождения всех комбинаций
, например: у меня есть 2 3 5 и имеют лет найти все комбинации, суммы которых равны или больше, чем, скажем, 5,
Так ответ будет 5 (2 + 3), 5 (5), 7 (5 + 2), 8 (5 + 3), 10 (2 + 3 + 5)
Мне не нужны суммы, мне просто нужны комбинации, которые отвечают требованиям к сумме.
число также будет находиться под 100.
Попытка не показана. –
Поскольку каждое число либо включено, либо исключено в комбинации, количество комбинаций будет 2^100 = 1.2676506e + 30 (~ 1 000 000 000 000 000 000 000 000 000 000 000) в худшем случае. Это предполагает, что вам нужны все комбинации с суммой, превышающей 0, и все числа уникальны. Даже если часть комбинаций исключается с помощью эффективного алгоритма, вы все равно получите огромное количество перестановок, на которые потребуется время для повторения. Вы уверены, что это лучший способ решить вашу проблему? – Akinakes
Похоже на присвоение класса – andy256