Completed
Dec 23, 2024
标签
数组
二分
相关企业
难度
简单
- 题目描述:最基础的二分查找数组中的target,查找到则返回,未查找到则返回-1
- 代码思路:注意边界条件即可。还有各种变种的二分查找,查找小于target的第一个,大于target的第二个等等,见后续。本题采用左闭右闭区间搜索,即搜索左侧时mid-1,搜索右侧时mid+1
代码说明:
- 判断边界
- 使用左闭右闭区间 [left, right] 进行查找
- 使用 left + (right - left) / 2 计算中间位置,避免整数溢出
- 当 nums[mid] == target 时,直接返回下标
- 当 nums[mid] < target 时,说明目标在右半部分,更新 left = mid + 1
- 当 nums[mid] > target 时,说明目标在左半部分,更新 right = mid - 1
- 循环结束后仍未找到,返回 -1

