从边界条件入手,搞懂二分查找
二分查找应用于有序数组中的元素匹配,很简单的问题,但是在处理左右边界的时候,常常会有模棱两可之感,本文将彻底解析两种边界区间不同,带来的条件影响。
-
两侧闭合
-
两侧闭合的情况下,我们需要注意有以下:
-
判断条考虑左右边界相等的情况
while(left<=right)
-
变化左右边界元素要【索引值-1】
if(target<nums[mid]) { right=mid-1; } else if(target>nums[mid]) { left=mid+1; }
-
完整代码
class Solution { public int search(int[] nums, int target) { if
-
-