leetcode 算法总结--二分查找
当退出循环后,没找到mid,只能说明不存在刚刚好mid * mid === x,所以要返回left - 1或者是right。target=2,首次二分时无法判断区间[0,3] 和区间 [4,6] 哪个是有序的。在二分查找的每一步中,左边界为 low,右边界为high,区间的中点为 pivot,最小值就在该区间内。如下图所示,这说明 nums[pivot] 是最小值右侧的元素,因此我们可以忽略二分查找区间的右半部分。对于这种情况,我们只能将当前二分区间的左边界加一,右边界减一,然后在新区间上继续二分查找。
原创
2023-02-18 23:33:16 ·
307 阅读 ·
0 评论