二分法应用场景:
- 寻找一个数
- 寻找左侧边界
- 寻找右侧边界
重点难点:
- 需不需要带“ = ”号
- 需不需要+1
代码讲解:
一、寻找一个数
int binarySearch(int[] nums, int target) {
int left = 0;
int right = nums.length - 1; // 注意
while(left <= right) {
int mid = (right + left) / 2;
if(nums[mid] == target)
return mid;
else if (nums[mid] < target)
left = mid + 1; // 注意
else if (nums[mid] > target)
right = mid - 1; // 注意
}
return -1

本文详细讨论了二分法在寻找一个数、左侧边界和右侧边界的应用,解析了在不同场景下如何处理边界条件。重点在于理解二分法中`<=`与`<`的区别,以及如何通过调整搜索区间来定位目标元素的位置。
最低0.47元/天 解锁文章
4276

被折叠的 条评论
为什么被折叠?



