python实现二分查找
"""
二分查找升序数组内某个值
"""
import os
import sys
class Solution(object):
def search(self, nums, left, right, target):
if left > right:
return -1
if left == right:
return left if nums[left] == target else -1
mid = ( int(left) + int(right)) /2
if nums[mid] == target:
return mid
return self.search(nums, 0, mid-1, target) if nums[mid] > target else self.search(nums, mid+1, right, target)
def Search(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: int
"""
return self.search(nums, 0, len(nums), target)
def main():
ca = Solution()
nums = [1,2,3,7,9,10]
result = ca.Search(nums, 9)
print result
main()