【发布时间】:2021-10-16 18:12:40
【问题描述】:
我尝试使用 while 循环编写二进制搜索代码,但我错过了一些东西,因为它不适用于所有输入。
function solution(A, X) {
var N = A.length;
if (N === 0) {
return -1;
}
var l = 0;
var r = N-1;
while (l < r) {
var m = Math.floor((l + r) / 2);
if (A[m] > X) {
r = m - 1;
} else {
l = m;
}
}
if (A[l] == X) {
return l;
}
return -1;
}
我错过了什么?
【问题讨论】:
标签: binary-search