array-increaser

Increase Array when last bit reach band, it it useful when solve N-Sum problem.

Usage no npm install needed!

<script type="module">
  import arrayIncreaser from 'https://cdn.skypack.dev/array-increaser';
</script>

README

array-increaser

Increase Array when last bit reach band, it it useful when solve N-Sum problem.

API

increase(numberArray, band): Array

Increase numberArray from lower digit to higher digit, and return Number Array.

numberArray {Integer Array}, A Number Array

band {Integer Number}, Band, when current digit reach band, the digit would reset to 0, and last digit(higher digit) would increase 1.

increaseGreaterThanUpper(numberArray, band)

numberArray {Integer Array}, A Number Array

band {Integer Number}, Band, when current digit reach band, and last digit(higher digit) would increase 1, and current digit would reset to {last digit + 1}.

repeat(times, increaseFunction, numberArray, band)

times {Integer}, repeat times

increaseFunction {Function}, one of ['increase', 'increaseGreaterThanUpper']

numberArray

band

Example

  const {increase, increaseGreaterThanUpper, repeat} = require('../');
  increase([0], 10); // => [1];

  repeat(123, increase, [1,2], 10); //=>[1, 3, 5];

  repeat(1, increaseGreaterThanUpper, [6], 7); //=> [1,2] // 6 increase 1 is 7, band is 7, so get [1,0], but lower digit should greater than higher digit, so last digit should be 2, so result is [1,2]

  repeat(10, increaseGreaterThanUpper, [6], 7); //=> [3,4] //repeat after 1 time, got [1,2], after 6 times, got [2,3], afrer 10 times, got [3,4]

TODO

Deal with decimals and initial Number Array has element greater than band