Lazy loaded image
LC704.二分查找
00 min
2024-12-23
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
上一篇
空白文章
下一篇
示例文章