二分查找
条件 : 查找序列需要是单调
的
优点 : 时间复杂度低,为O(logN)
规定 : 利用左闭右开
区间描述 [lb, ub)
模板 :
while (ub - lb > 1) {
int mid = (lb + ub) / 2;
if (Check mid) { // 根据nums[mid]来判断搜索左半部分还是右半部分
lb = mid;
} else {
ub = mid;
}
}
// 视情况处理最后的lb或者ub,此时ub == lb + 1
网友评论