基础版算法:左闭右闭
注意点:
1.while范围(i
2.位运算符>>> ,是为了防止加出来负数,超过范围,因此向右移动一位,作除2运算,偶数直接除2,奇数除2后去掉了小数。
3.因为数组的顺序是升序,因此算法采用i
进阶版算法:左闭右开
注意点:
1.j将作为边界,不参与比较。
2.while范围也不是i
3.左闭右开。
平衡版算法:
如果是数组中有重复元素,需要输出重复元素的第一个的索引:
以左边为例:
二分查找的应用:
求排名;求前(后)任(数组中存在或不存在的元素的)+/- 1;范围查找;
以上就是二分查找的算法分析,用这些再加以适当的变形,就足以刷力扣的有关二分查找的题目了。