#leecode704. 二分查找
(NO.1)
使用条件:有序数组同时无重复元素
时间复杂度O(logn)
每次将搜索范围减少一半
class Solution(object):
def search(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: int
"""
left, right = 0, len(nums)-1
#定义target在区间为左闭右闭即[]
while left <= right:
mid = (left + right)//2
if target == nums[mid]:
return mid
elif target > nums[mid]:
left = mid + 1
elif target < nums[mid]:
right = mid -1
else:
return -1