Skip to main content

A Python module for finding all solutions to the SUBSET-SUM problem

Project description

subsetsum

The subsetsum Python module can enumerate all combinations within a list of integers which sums to a specific value. It works for both negative and positive target sum values, as well as negative, positive, and repeating values in the list of input numbers. subsetsum can also quickly answer whether or not there exists a subset of integers in the input list which sums to target.

Installation

pip install subsetsum

Example usage:

import subsetsum

target = 0
nums = [-2, -1, 0, 1, 2]

has_solution = subsetsum.has_solution(nums, target)
print(f"Can {nums} sum to {target}? {has_solution}")

for solution in subsetsum.solutions(nums, target):
    # `solutions` contains indices of elements in `nums`
    subset = [nums[i] for i in solution]
    sum_value = sum(subset)
    print(f"{subset} sums to {sum_value}")

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page