Sha256: b3b9986b35d3c06951c88015ce113cb7cba767774d7c10cc0a11cbd312544ee4
Contents?: true
Size: 721 Bytes
Versions: 181
Compression:
Stored size: 721 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
181 entries across 181 versions & 1 rubygems