Sha256: 388c087d14494ef52737b7827e2d162991d9fd690fac9219160c49c38563ba43
Contents?: true
Size: 731 Bytes
Versions: 215
Compression:
Stored size: 731 Bytes
Contents
function isSortedArray(array) { for (let i = 1; i < array.length; i++) { if (array[i] < array[i - 1]) { return false; } } return true; } function recursiveSearch(array, value, start, end) { if (start === end) { return -1; } const mid = Math.floor((start + end) / 2); if (array[mid] > value) { return recursiveSearch(array, value, start, mid); } if (array[mid] < value) { return recursiveSearch(array, value, mid + 1, end); } return mid; } class BinarySearch { constructor(array) { if (isSortedArray(array)) { this.array = array; } } indexOf(value) { return recursiveSearch(this.array, value, 0, this.array.length); } } export default BinarySearch;
Version data entries
215 entries across 215 versions & 1 rubygems