class Solution:
"""
@param nums: The integer array.
@param target: Target to find.
@return: The first position of target. Position starts from 0.
"""
def find_target(self, nums, target) :
result = nums.index(target)
return result
def binarySearch(self, nums, target) :
# write your code here
length = len(nums)
if length % 2 == 0 :
if target in nums[:int(length / 2)] :
return self.find_target(nums[:int(length / 2)], target)
elif target in nums[int(length / 2) :] :
return int(length / 2) + self.find_target(nums[int(length / 2) :], target)
else :
return -1
elif length % 2 == 1 :
if target in nums[:int((length - 1) / 2) + 1] :
return self.find_target(nums[:int((length - 1) / 2) + 1], target)
elif target in nums[int((length - 1) / 2) + 1 :] :
return int((length - 1) / 2) + 1 + self.find_target(nums[int((length - 1) / 2) + 1 :], target)
else :
return -1
python 二分查
最新推荐文章于 2024-05-02 06:33:04 发布