Skip to content
Node.js library to find solutions to the coin changing problem.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.eslintrc.json
.gitignore
.npmignore
.travis.yml
CHANGELOG.md
LICENSE
README.md
index.js
package-lock.json
package.json
subsetSum.test.js

README.md

Subset sum

NPM

npm version Build Status

Node.js module to compute solutions to the Coin changing problem, i.e. find combinations of integers from a given set of available integers that sum up to a desired result.

Quick start

  1. Install the library

via npm

npm i -S @haensl/subset-sum

via yarn

yarn add @haensl/subset-sum
  1. Use the library in your code
const sumService = require('subset-sum');
const numbers = [1, 4, 2, 5, 1, 3];
const target = 6;
const solver = sumService.subsetSum(numbers, target);
for (let solution of solver) {
  console.log(solution);
}

API

subsetSum(numbers, target) => Generator

Returns a generator that yields arrays of integers from numbers that add up to target.

uniqueSolutions(solutions) => Array

Filters solutions for unique solutions.

isSameSolution(solutionA, solutionB) => boolean

Compares to solutions and determines if they are equal, i.e. contain the same integers. E.g. [1, 1, 3, 1] and [1, 3, 1, 1] are considered equal.

Changelog

Licence

You can’t perform that action at this time.