#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 如果目标值存在返回下标,否则返回 -1
# @param nums int整型一维数组 
# @param target int整型 
# @return int整型
#
class Solution:
    def search(self , nums: List[int], target: int) -> int:
        # write code here
        front,end = 0,len(nums) - 1
        while front <= end:
            temp = (front + end) // 2
            if nums[temp] == target:
                temp1 = temp
                while temp1 >= 0 and nums[temp1] == target:
                    temp1 -= 1
                return temp1+ 1
            elif nums[temp] > target:
                end = temp - 1
            else:
                front = temp + 1
        else:
            return -1