二分法python3(leecode704)

#leecode704. 二分查找

(NO.1)

使用条件:有序数组同时无重复元素

时间复杂度O(logn)

每次将搜索范围减少一半

class Solution(object):
    def search(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: int
        """
        left, right = 0, len(nums)-1 
        #定义target在区间为左闭右闭即[]
        while left <= right:
            mid = (left + right)//2
            if target == nums[mid]:
                return mid
            elif target > nums[mid]:
                left  = mid + 1
            elif target < nums[mid]:
                right = mid -1
        else:
            return -1   

猜你喜欢

转载自blog.csdn.net/ziqingnian/article/details/121783760