给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。
设置左右两个指针及中间值,若目标值比中间值大则移动左指针,若目标值比中间值小移动右指针
class Solution:
def search(self, nums: List[int], target: int) -> int:
left = 0
right = len(nums) - 1
while (left <= right) :
middle = (left + right) // 2
if nums[middle] < target :
left = middle + 1
elif nums[middle] > target :
right = middle - 1
else:
return middle
return -1