美文网首页
二分查找

二分查找

作者: 骑驴的帅小伙 | 来源:发表于2017-11-22 23:35 被阅读0次

刚看到这个算法的介绍时,让我想到了一次和朋友喝酒的经历......

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);

相关文章

网友评论

      本文标题:二分查找

      本文链接:https://www.haomeiwen.com/subject/sbiovxtx.html