nums = [-1, 1,2,3]
target = 3
class Solution:
#定义全局变量,记录右边一半时的偏移量
global num_count
num_count = 0
def search(self, nums, target):
global num_count
if int(len(nums)) == 0:
return -1
elif target in nums:
mid = int(len(nums) / 2)
if nums[mid] == target:
//最后返回时,需要加上右边的偏移量
return mid+num_count
elif nums[mid] > target:
new_nums = nums[0:mid]
return self.search(new_nums, target)
elif nums[mid] < target:
//左边不需要加,右边需要加上偏移量
num_count += mid
new_nums = nums[mid:int(len(nums))]
return self.search(new_nums, target)
else:
return -1
else:
return -1
aa = Solution()
bb = aa.search(nums, target)
print(bb)