给一个上升序列,返回target出现的任意位置,没有返回-1。
class Solution:
"""
@param nums: An integer array sorted in ascending order
@param target: An integer
@return: An integer
"""
def binary_search(self, nums, low, high, target):
if low<=high:
mid = low + (high-low)//2
if nums[mid] == target:
return mid
if target < nums[mid]:
return self.binary_search(nums, low, mid-1, target) # 记得返回,如果只剩一位了还不相等,那么low>high返回-1
else:
return self.binary_search(nums, mid+1, high, target) # 记得返回
else:
return -1
def findPosition(self, nums, target):
# write your code here
return self.binary_search(nums, 0, len(nums)-1, target)