peak-finder
v1.0.2
Published
A JavaScript package to find the local peak in a 1-dimensional or 2-dimensional array.
Downloads
5
Readme
A minimalistic package to find a local peak in a 1-dimensional or 2-dimensional array if it exists.
Highlights
- Fast, 2kB
- Accepts 1-dimensional or 2-dimensional arrays as input
- Ability to auto-determine the dimension of given input
- Clean and focused
Install
$ npm install peak-finder
Usage
PeakFinder is quite easy to use. Once you have the module imported, you can directly invoke the function by providing the desired input that you would like to find a local peak in.
const peakFinder = require('peak-finder');
// 1-D array
const input_1d = [6, 4, 2, 0, 3, 4];
const [localPeak, localPeakIndex] = peakFinder(input_1d);
// localPeak = 6, localPeakIndex = 0
.
.
.
.
// 2-D array
const input_2d = [
[0, 2, 1, 11],
[2, 5, 2, 3],
[6, 2, 5, 8],
[9, 0, 0, 10]
];
const [localPeak, [localPeakRowIndex, localPeakColumnIndex]] = peakFinder(input_2d);
// localPeak = 9, [localPeakRowIndex, localPeakColumnIndex] = [3, 0]
FAQ
- It returns [-1. -1]? No peak could not be found.
- It returns [-1. [-1, -1]]? This could be due to a couple of reason: no peak could not be found, or irregularities in the size of the input array. Make sure all the rows are of the same length, and all the columns are of the same length.
Origin story
One fine night, I woke up to the revelation of having to self-improve my proficiency in algorithms. In my not-so-extensive search, I stumbled upon MIT Open CourseWare and embarked on a journey which led to the creation of this package and more similar packages that provided focused, clean, and minimalistic solutions to algorithms and data structures for JS.