binarySearch

版本A

Rank mi = (lo + hi) >> 1;
if (e < A[mi])
    hi = mi;
else if (A[mi] < e)
    lo = mi + 1;
else
    return mi;

版本B

while (1 < hi-lo){
    Rank mi = (lo + hi) >> 1;
    (e < A[mi]) ? hi = mi : lo = mi;//深入[lo, mi) || [mi, hi)段继续查找
}

版本C

while (lo < hi){
    Rank mi = (lo + hi) >> 1;
    (e < A[mi]) ? hi = mi : lo = mi + 1;//[lo,mi) || (mi, hi)
}

 

全部评论

相关推荐

皮格吉:不,有的厂子面试无手撕,可以试试。都是一边学一边面。哪有真正准备好的时候,别放弃
无实习如何秋招上岸
点赞 评论 收藏
分享
09-24 18:30
已编辑
长春工业大学 产品经理
小肥罗:HR就是好人的缩写哈哈哈哈
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务