链接
二分查找-I_牛客题霸_牛客网 (nowcoder.com)
题目
请实现无重复数字的升序数组的二分查找
给定一个 元素升序的、无重复数字的整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标(下标从 0 开始),否则返回 -1
数据范围
输入
[-1,0,3,4,6,10,13,14],13 [],3 [-1,0,3,4,6,10,13,14],2
输出
6
-1
-1
说明
13 出现在nums中并且下标为 6
nums为空,返回-1
2 不存在nums中因此返回 -1
思路
因为是升序排列,先找出mid位置和数值大小,所以如果mid的值比target小,left的新位置等于mid+1。如果mid的值比target大,right的新位置等于mid-1。如果数组里找不到target,return -1。
代码展示