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