function binarySearch(arr, target) {
if (arr.length === 0) return 'Error';
let start = 0,
end = arr.length - 1;
while (start <= end) {
try {
const mid = start + Math.floor((end - start) / 2);
if (arr[mid] === target) {
return mid;
} else if (arr[mid] < target) {
start = mid + 1;
} else if (arr[mid] > target) {
end = mid - 1;
} else {
return -1;
}
} catch (e) {
throw e;
}
}
}
console.log(binarySearch([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 9));
手写二分查找法
于 2025-01-05 22:09:17 首次发布