bsc
Version:
Binary search with comparator
31 lines (24 loc) • 520 B
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
const binarySearch = (arr, comparator) => {
let start = 0;
let end = arr.length - 1;
while (start <= end) {
const item = Math.floor((start + end) / 2);
const cmp = comparator(arr[item]);
if (cmp < 0) {
end = item - 1;
continue;
}
if (cmp > 0) {
start = item + 1;
continue;
}
return item;
}
return -1;
};
var _default = binarySearch;
exports.default = _default;