给定一个 n
个元素有序的(升序)整型数组 nums
和一个目标值 target
,写一个函数搜索 nums
中的 target
,如果目标值存在返回下标,否则返回 -1
。
class Solution(object):
def search(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: int
"""
left = 0
right = len(nums) - 1
while left <= right:
middle = left + (right-left)//2
if target == nums[middle]:
return middle
elif target > nums[int(middle)]:
left = middle + 1
else:
right = middle - 1
return -1
if __name__ == '__main__':
nums = [-1, 0, 3, 5, 9, 12]
target = 9
Solution = Solution()
print(Solution.search(nums, target))