```#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param nums int整型一维数组 
# @param target int整型 
# @return int整型
#
class Solution:
    def search(self , nums: List[int], target: int) -> int:
        # write code here
        if len(nums)==0:
            return -1
        lenth_low=0
        lenth_high=len(nums)-1
        lenth_haf=(lenth_low+lenth_high)//2
        while lenth_low<=lenth_high:
            lenth_haf=(lenth_low+lenth_high)//2
            if target==nums[lenth_haf]:
                return lenth_haf
            if target>nums[lenth_haf]:
                lenth_low=lenth_haf+1
                
            if target<nums[lenth_haf]:
                lenth_high=lenth_haf-1
        return -1
##### 二分查找的关键点是在于,**每次二分之后的区间不能含有中分点**,例如[0,5](中分点为(0+5)//2=2),
	[0,2]就是包含了中分点,也就是说[0,5]的下一个二分区间要么是[0,1]要么是[3,5]。
	以此类推,**当区间下限超过区间上限时,停止循环**,return -1,等于没找到该元素。