刚看到这个算法的介绍时,让我想到了一次和朋友喝酒的经历......
A(1),2,3......K(13) 一共13张扑克牌,他从中挑一张,我来猜那张牌是什么,每次猜测后他会说小了、大了或对了,猜错一次喝一杯,猜对了他喝三杯。
( ╹◡╹)-o█"█o-( ̄▽ ̄ )
let search = (arr, target) => {
let start = 0;
let end = arr.length - 1;
let mid = 0;
while (start <= end) {
mid = Math.floor((start + end) / 2);
if (arr[mid] == target) {
return mid;
}
if (arr[mid] > target) {
end = mid - 1;
} else {
start = mid + 1;
}
}
return -1;
};
let data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13];
search(data, 12);
网友评论