#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param nums int整型一维数组 
# @param target int整型 
# @return int整型
#
class Solution:

    def binary_search(self, low, high, nums, target):
        if high < low:
            return -1
        mid = (low+high)//2
        mid_num = nums[mid]
        if target == mid_num:
            return mid
        elif target > mid_num:
            low = mid +1
        elif target < mid_num:
            high = mid -1
        return self.binary_search(low, high, nums, target)

    def search(self , nums: List[int], target: int) -> int:
        low = 0
        high = len(nums)-1
        ans = self.binary_search(low, high, nums, target)
        return ans